(Electric Eel Beta) Where are files for Dockge containers stored

Question in the title. Switched to the beta, installed Dockge to install custom docker containers, and built one to run qbittorrent through my VPN via gluetun. After a bit of troubleshooting, i got that to work. It all launches, i can access qbittorrent through the web gui, and i confirmed it’s going through my VPN as intended. But, i cannot for the life of me figure out where the copy of Big Buck Bunny i downloaded has actually been stored. I’ve looked all over the Apps dataset, and it’s just not there. Can someone help?

In case it’s not clear, I am very new at this. Eventually i want to mount a dataset in a different pool and have downloads go there, which was how i had it set up when i used the old truecharts qbittorrent client. but for now i’m just troubleshooting, and since i’ve never used docker before, i wanted to figure out where the default downloads directory is before i getting into that.

Here’s the docker compose i ran in Dockge.

version: "3"
services:
  gluetun:
    image: qmcgaw/gluetun
    container_name: gluetun
    cap_add:
      - NET_ADMIN
    ports:
      - 8080:8080/tcp
    environment:
      - VPN_SERVICE_PROVIDER=redacted
      - OPENVPN_USER=foo
      - OPENVPN_PASSWORD=bar
  qbittorrent:
    image: lscr.io/linuxserver/qbittorrent:latest
    container_name: qbittorrent
    environment:
      - PUID=1000
      - PGID=1000
      - TZ=Etc/CST
      - WEBUI_PORT=8080
      - TORRENTING_PORT=6881
    network_mode: service:gluetun
    volumes:
      - /config
      - /downloads
    restart: unless-stopped
networks: {}

Look at the “volumes” part of your YML. You haven’t mapped any paths for your config folder or downloads.

Here’s the relevant part of my gluetun/qbittorent YML:

volumes:
      - /path/to/data/qbittorrent:/config
      - /path/to/downloads:/downloads

On the front end of TrueNAS, what did you set when installing Dockge? You would generally want to create a dataset for docker, with subfolders that hold the data for each app — as well as a separate stacks folder. Then you would point to those data and stacks folders when installing Dockge. Example:

/mnt/docker/data/qbittorrent
/mnt/docker/stacks

As for downloads, you’d want to point to a folder that has permissions set up correctly for read/write/whatever. My downloads folder is part of a Samba share.

Stux video that may help:

Thanks! I didn’t understand the syntax for volumes when i wrote those composes. even with that mistake though, the thing i downloaded did end up somewhere on my system. i’d like to know where that is since it’ll help me learn and troubleshoot this.

i’ve actually tried two different installs of dockge. the first time, i had truenas create ixvolumes for data and stacks, and i couldn’t find where they were at all. i also did a similar bittorrent setup to the one i posted above, and couldn’'t find the test file i downloaded.

i then uninstalled dockge, created data and stacks datasets as suggested in this video, and then reinstalled dockage set to use them instead. i then did the Compose i posted, and did another test download. i can see some small config files in the Data and Stacks datasets, but not the file i downloaded. also, my data and stacks datasets only have ~330 KB in them combined, so i don’t think they contain the gluetun and qbittorrent installs from that Compose either.

Sorry that this is imprecise, and thanks for the reply.

In Dockge, click on your container, then enter its shell, you should see the file in /downloads I assume.

Where is that? Not sure. Maybe in the container.

1 Like

okay there it is

image

so, this is … somewhere. long term, i want to mount a 'downloads" folder in a different dataset to this location, so downloads go to a folder i can access without the command line. i assume i need to grant dockge access to that location by adding additional storage. Does this look right?

And do i need to change the docker compose as well?

No, you modify the compose file

volumes:
      - /mnt/YOURPOOLNAME/docker/qbittorrent:/config
      - /mnt/YOURPOOLNAME/downloads:/downloads

Then you click deploy.

this is assume you that you created a docker/qbittorrent dataset on your pool, and also a downloads dataset/directory

Now, where is the file… I’m not sure what the volume you specifed maps too, but If you ssh/shell into your TrueNAS and run docker ps you will see all the containers running on your system. You should be able to find the Container ID for the qbittorrent container, something like “b56e34d495bb”

If you then run

docker inspect b56e34d495bb | grep MergedDir

but change the container ID for yours, you should find where the merged overlay filesystem is

root@eel# docker inspect b56e34d495bb | grep MergedDir
                "MergedDir": "/mnt/.ix-apps/docker/overlay2/9f2b0119aa495430031821d1ddeae582e761ccef9ec1e994f245deed057c4979/merged",

You can then cd into that directory and copy/move the file out if you wish.

i just deleted that file from qbittorrent’s UI after taking that screenshot, so SSHing in shouldn’t be necessary.

i haven’t created a /qbittorrent dataset. the only new one’s i’ve made for this were the three in my earlier screenshot

/mnt/Apps/dockge
/mnt/Apps/dockge/data
/mnt/apps/dockge/stacks

i don’t quite follow where you want me to create that /qbittorrent dataset. your example has it under a /docker dataset, which i currently don’t have. i’m not sure if that was a typo and you meant /dockge, or if i also need to create a parent /docker dataset for /qbittorrent. which of the following are you telling me to create?

1 - /mnt/Apps/dockge/qbittorrent
2 - /mnt/Apps/dockge/docker/qbittorrent
3 - /mnt/Apps/docker/qbittorrent

also, since i have a single docker compose with both gluetun and qbittorrent, do i need to create a separate /gluetun dataset at the same location? or will both of them use the /qbittorrent dataset you want me to make?

finally, just to confirm, are you saying i don’t need to mount /mnt/path/to/downloads as Additional Storage through dockge’s Storage Configuration, and that all i need to do is mount it with the docker compose?

You can make a qbittorrent data set anywhere you want.

I have a docker dataset, where I have datasets for all my docker things… including one for “dockge” and one for “stacks”

And yes, you just mount the downloads in the compose.

thank you. it’s all working now, and i cleaned up my setup a bit. i now have gluetun and qbittorrent running in separate stacks, and a dataset setup that makes sense.

i suspect other people will want to do something similar, so i’ll share the details.

i had a pre-existing Apps dataset. here are all the child datasets i created under it for this setup

Apps/dockge
Apps/dockge/data
Apps/dockge/stacks
Apps/dockge/containers
Apps/dockge/containers/gluetun
Apps/dockge/containers/qbittorrent
Apps/dockge/containers/qbittorrent/config
Apps/dockge/containers/qbittorrent/downloads

i also had a pre-existing downloads dataset i wanted qbittorrent to use. for the purposes of this demonstration, it’s at /mnt/path/to/downloads

i installed dockge. under storage configuration, i mapped “Dockge Stacks Storage” to /mnt/Apps/dockge/stacks, and “Dockge Data Storage” to /mnt/Apps/dockge/data. this was recommended in the video rambro1stbud linked earlier in the thread.

in dockge, i composed a stack for gluetun, referencing the github page and accompanying wiki. here’s the compose i used

version: "3"
services:
  gluetun:
    image: qmcgaw/gluetun
    container_name: gluetun
    cap_add:
      - NET_ADMIN
    devices:
      - /dev/net/tun:/dev/net/tun
    ports:
      - 8080:8080/tcp
    volumes:
      - /mnt/Apps/dockge/containers/gluetun:/gluetun
    environment:
      - 

you will need to set the environment variables based on your VPN provider. gluetun supports most of them. consult the wiki linked above.

port 8080 is exposed because qbittorrent will use that for the web ui. if you want to use a different port for the web ui, you’ll need to list it here, as well as in the compose for qbittorrent.

i then created a second stack for qbittorrent, referencing this docker hub page

version: "3"
services:
  qbittorrent:
    image: lscr.io/linuxserver/qbittorrent:latest
    container_name: qbittorrent
    network_mode: container:gluetun
    volumes:
      - /mnt/Apps/dockge/containers/qbittorrent/config:/config
      - /mnt/path/to/downloads:/downloads
    environment:
      - PUID=1000
      - PGID=1000
      - WEBUI_PORT=8080
      - TORRENTING_PORT=6881
    restart: unless-stopped
networks: {}

once this is running, you can confirm your torrents are downloading to the right place using these public domain and creative commons torrents. you can also use https://ipleak.net/ to confirm that qbittorrent is going through your vpn. get a Torrent Address detection magnet link, add it to qbittorrent, and let it run a bit. the website will update with the IP address it sees attempting to download that torrent, and if everything is working correctly it will be the public ip address in gluetun’s logs.

i’m far from an expert, and there may be some mistakes in here. do with this what you will.

1 Like