![](https://lemmy.ca/pictrs/image/4283c4a1-9603-4a66-9419-3884f0412f8b.png)
![](https://lemmy.world/pictrs/image/8286e071-7449-4413-a084-1eb5242e2cf4.png)
Pretty simple to switch (if you have a little docker experience). Create a folder (e.g. ./postgres
), add the folder as a volume in the postgres portion of the compose file (maybe something like /db
), then run just the database with newly mounted folder, shell in, and copy everything from the Postgres folder to this new folder. After that, swap mounts so the new folder is used as Postgres db and you’re good. If something went wrong, the pgdata
volume is still there to switch back to.
I removed mine since I moved away from Gitlab. There’s other comments with working docker composes, but here’s the latest working version of mine if you’re interested:
services: gluetun: image: ghcr.io/qdm12/gluetun:latest container_name: gluetun # line above must be uncommented to allow external containers to connect. See https://github.com/qdm12/gluetun/wiki/Connect-a-container-to-gluetun#external-container-to-gluetun restart: always cap_add: - NET_ADMIN devices: - /dev/net/tun:/dev/net/tun volumes: - ./data:/gluetun environment: ## ProtonVPN Wireguard - VPN_SERVICE_PROVIDER=custom - VPN_TYPE=wireguard - VPN_ENDPOINT_IP=${WIREGUARD_ENDPOINT_IP} - VPN_ENDPOINT_PORT=${WIREGUARD_ENDPOINT_PORT} - WIREGUARD_PUBLIC_KEY=${WIREGUARD_PUBLIC_KEY} - WIREGUARD_PRIVATE_KEY=${WIREGUARD_PRIVATE_KEY} - WIREGUARD_ADDRESSES=${WIREGUARD_ADDRESSES} - TZ=Etc/UTC ports: - ${QBITTORRENT_EXPOSED_WEBUI_PORT}:8080/tcp # qBittorrent Web UI qbittorrent: # https://docs.linuxserver.io/images/docker-qbittorrent build: . container_name: qbittorrent restart: always volumes: - ./config:/config # using download path as mount so other services can play nice - ${QBITTORRENT_DOWNLOAD_PATH}:${QBITTORRENT_DOWNLOAD_PATH} - ${QBITTORRENT_THEMES_PATH}:/themes environment: # https://github.com/linuxserver/docker-qbittorrent#umask-for-running-applications - PUID=${QBITTORRENT_WRITE_UID} - PGID=${QBITTORRENT_WRITE_GID} - UMASK=0002 - TZ=Etc/UTC - WEBUI_PORT=8080 network_mode: "service:gluetun" depends_on: gluetun: condition: service_healthy portcheck: image: eiqnepm/portcheck:latest container_name: portcheck restart: always environment: - QBITTORRENT_PORT=6881 - QBITTORRENT_WEBUI_PORT=8080 - QBITTORRENT_WEBUI_SCHEME=http - QBITTORRENT_USERNAME=admin - QBITTORRENT_PASSWORD=${QBITTORRENT_ADMIN_PASSOWRD} - TIMEOUT=300 - DIAL_TIMEOUT=5 network_mode: "service:gluetun" depends_on: qbittorrent: condition: service_healthy