App config backup? Shokz - ElectricEel-24.10.2.1

I am wondering if there is a way to back up the settings used in deploying an app.

I do not mean mapping the container paths for the container. I am talking about the settings configured in TrueNAS for the app. Port settings, folder mappings, anything in there. It would be nice to get an app up and running and be able to export that, then be able to deploy an app by importing. Then all the settings are the same for using the folder mapping in the container. Thus making a reinstall super easy.

Almost like having a Docker Compose file but something specific to TNAS apps.

Not at this time.
Its something I am hoping for

1 Like

Paradoxically, only the people adding Custom Apps using YAML can do this easily… at least at the moment.

Thanks! Is there a feature request I missed or if not will it help to put one in?

Yup, thanks!

Did you see that there’s now an option to migrate catalog apps to custom yaml? It’s a 1 way thing and I’d imaging the resulting yaml is going to be messy. But that’s an option. Then just back those compose files up to github!

1 Like

I hadn’t seen that.

Have to give it a try with my dummy app

This app was clamav - called “a-dummy-clamav” as due to UI issues I have deleted the top app only list sometimes by mistake.

services:
  clamav:
    cap_add:
      - CHOWN
      - DAC_OVERRIDE
      - FOWNER
      - SETGID
      - SETUID
    cap_drop:
      - ALL
    deploy:
      resources:
        limits:
          cpus: '2'
          memory: 4096M
    environment:
      CLAMAV_NO_CLAMD: 'false'
      CLAMAV_NO_FRESHCLAMD: 'false'
      CLAMAV_NO_MILTERD: 'true'
      CLAMD_STARTUP_TIMEOUT: '1800'
      FRESHCLAMD_CHECKS: '1'
      NVIDIA_VISIBLE_DEVICES: void
      TZ: Etc/UTC
      UMASK: '002'
      UMASK_SET: '002'
    group_add:
      - 568
    healthcheck:
      interval: 10s
      retries: 30
      start_period: 10s
      test: clamdcheck.sh
      timeout: 5s
    image: clamav/clamav:1.1.2-2
    platform: linux/amd64
    ports:
      - mode: ingress
        protocol: tcp
        published: 30005
        target: 3310
    privileged: False
    restart: unless-stopped
    security_opt:
      - no-new-privileges=true
    stdin_open: False
    tty: False
    volumes:
      - bind:
          create_host_path: False
          propagation: rprivate
        read_only: False
        source: /mnt/.ix-apps/app_mounts/a-dummy-app-clamav/scandir
        target: /scandir
        type: bind
      - read_only: False
        target: /tmp
        type: volume
        volume:
          nocopy: False
      - bind:
          create_host_path: False
          propagation: rprivate
        read_only: False
        source: /mnt/.ix-apps/app_mounts/a-dummy-app-clamav/sigdb
        target: /var/lib/clamav
        type: bind
volumes: {}
x-notes: >+
  # ClamAV


  ## Warnings


  - Due to a design flaw in ClamAV, the clamd can be exploited to send commands

  like 'SHUTDOWN', 'RELOAD', 'VERSION' and others to the clamd process. </br>

  See more details at https://github.com/Cisco-Talos/clamav/issues/1169"



  ## Bug Reports and Feature Requests


  If you find a bug in this app or have an idea for a new feature, please file
  an issue at

  https://github.com/truenas/apps

x-portals: []

This is what the yaml looks like. I changed the image: clamav/clamav:1.1.2-2 to :latest and that still worked. Interestingly on docker.com there is no 1.1.2-2 tagged version of clamav. Not sure what the implications of that are.

BTW there is a feature request that hasn’t got much traction

I did not see that. I will have to take a look. Export and import seems better but at least I can export to a YAML and have SOMETHING

How did you get this from the app? Looking around I do not see anything

Sorry - I don’t understand

Does this help

Yeah I JUST made that feature request today. I looked and did not see one, so I made one.

They added it right after you requested it.

Thanks!

I do not have the three dots like you do

I am sorry? They added what?

It’s useful to list which version of TN you are using, since different versions are typically different.

1 Like

Sorry, I am using the newest version. I did tag Scale in the post so I did not mention it was Scale.

Please be specific., what version number?
It’s visible on the first page/dashboard.

ElectricEel-24.10.2.1

Thank you, I’m glad I asked.
The latest (stable) version is Fangtooth 25.04.0, released 3 weeks ago.

It’s likely that this explains the discrepancy in the UI, albeit I am not in a position to test it.

Updating ought to be a fairly painless procedure if you don’t use Virtual Machines and if you feel comfortable updating to a .0 release.

If you are using VMs you may want to wait a bit as the VM functionality in Fangtooth is undergoing changes and is currently marked experimental.

You update by going to System Settings → Update and selecting the Fangtooth train.

I will try that. I do have a VM but it’s literally just created and not really needed.