0

我有一个带有 Transmission-OpenVPN 容器的堆栈,它反过来可以让网络访问一堆其他容器。一切正常。最近我安装了 Watchtower,但我遇到的一个问题是,当 VPN 的映像更新并且其中一个依赖容器随后停止时,它无法自行重新启动 - 退出代码 128 - 原因是它似乎是试图引用旧 VPN 容器的网络。手动这就像将网络设置为依赖的 VPN 容器的新版本一样简单,或者只是重新启动整个堆栈。

但显然这违背了使用 Watchtower 自动更新的全部目的,并且将 VPN 容器排除在自动更新之外的解决方案同样是避免问题而不是解决问题。

我有什么选择 - 我曾考虑在 Watchtower 进行每周更新检查约一小时后在机器上添加一个 cron 作业以重新启动堆栈,但如果我尝试这样做,我会遇到同样的问题,即家属没有正确的网络开始/停止/重启。

Portainer 中是否有相当于停止/启动堆栈的命令行?如果有的话,我可以在 cron 作业中运行它并自动化这个令人头疼的问题。我在其他地方看到过有关 Edge 工作的讨论,但这似乎已被贬低,因此不是一个非常可维护的解决方案。

这个周末我对这个问题进行了广泛的研究,没有人真正给出确切的答案。任何帮助深表感谢。

我正在运行 Portainer 2.9.0。我的码头工人撰写:

services:
 transmission-openvpn:
    volumes:
        - /srv/dev-disk-by-uuid-f838e6cd-29d5-4011-bb25-041f95d8e52a/data/appdata/transmissionVPN/data/:/data
        - /srv/dev-disk-by-uuid-f838e6cd-29d5-4011-bb25-041f95d8e52a/data/appdata/transmissionVPN/config:/config
        - /etc/localtime:/etc/localtime:ro
    environment:
        - PUID=1000
        - PGID=1000
        - CREATE_TUN_DEVICE=true
        - OPENVPN_PROVIDER=PIA
        - OPENVPN_CONFIG=spain
        - OPENVPN_USERNAME=******
        - OPENVPN_PASSWORD=*******
        - OPENVPN_OPTS=--inactive 3600 --ping 10 --ping-exit 60
        - WEBPROXY_ENABLED=false
        - LOCAL_NETWORK=192.168.68.0/24
        - TRANSMISSION_SCRAPE_PAUSED_TORRENTS_ENABLED=false
    dns:
        - 8.8.8.8
        - 8.8.4.4
    cap_add:
        - NET_ADMIN
    logging:
        driver: json-file
        options:
            max-size: 10m
    ports:
        - 9091:9091
        - 9117:9117
        - 7878:7878
        - 8989:8989
        - 8686:8686
        - 5299:5299
        - 5076:5076
    restart: always
    image: haugene/transmission-openvpn:latest
    container_name: transmission-openvpn
    labels:
        - com.centurylinklabs.watchtower.enable="true"
        - com.centurylinklabs.watchtower.depends-on="jackett,radarr,sonarr,lidarr,lazylibrarian,hydra2"

 jackett:
    image: linuxserver/jackett
    container_name: jackett
    network_mode: "service:transmission-openvpn"
    environment:
        - PUID=1000
        - PGID=1000
        - TZ=Europe/London
        - AUTO_UPDATE=true #optional
        - RUN_OPTS=#optional
    volumes:
        - /srv/dev-disk-by-label-datadisk/appdata/jackett:/config
        #Jackett only needs config
    restart: unless-stopped
 
 radarr:
    image: linuxserver/radarr
    network_mode: "service:transmission-openvpn"
    container_name: radarr
    environment:
        - PUID=1000
        - PGID=1000
        - TZ=Europe/London
        - UMASK_SET=022 #optional
    volumes:
        - /srv/dev-disk-by-label-datadisk/appdata/radarr:/config
        - /srv/dev-disk-by-label-datadisk/media:/media
    restart: unless-stopped
 
 sonarr:
    image: linuxserver/sonarr
    network_mode: "service:transmission-openvpn"
    container_name: sonarr
    environment:
        - PUID=1000
        - PGID=1000
        - TZ=Europe/London
        - UMASK_SET=022 #optional
    volumes:
        - /srv/dev-disk-by-label-datadisk/appdata/sonarr:/config
        - /srv/dev-disk-by-label-datadisk/media/:/media
    restart: unless-stopped
 
 lidarr:
    image: linuxserver/lidarr
    network_mode: "service:transmission-openvpn"
    container_name: lidarr
    environment:
        - PUID=1000
        - PGID=1000
        - TZ=Europe/London
        - UMASK_SET=022 #optional
    volumes:
        - /srv/dev-disk-by-label-datadisk/appdata/lidarr:/config
        - /srv/dev-disk-by-label-datadisk/media/:/media
    restart: unless-stopped
 
 lazylibrarian:
    image: linuxserver/lazylibrarian
    network_mode: "service:transmission-openvpn"
    container_name: lazylibrarian
    environment:
        - PUID=1000
        - PGID=1000
         - TZ=Europe/London
        #- DOCKER_MODS=linuxserver/calibre-web:calibre #optional
    volumes:
        - /srv/dev-disk-by-label-datadisk/appdata/lazylibrarian/config:/config
        - /srv/dev-disk-by-label-datadisk/media:/media
        - /srv/dev-disk-by-label-datadisk/appdata/lazylibrarian/books:/books
    restart: unless-stopped

 hydra2:
    image: ghcr.io/linuxserver/nzbhydra2
    network_mode: "service:transmission-openvpn"
    container_name: hydra2
    environment:
      - PUID=1000
      - PGID=1000
      - TZ=Europe/London
    volumes:
      - /srv/dev-disk-by-label-datadisk/appdata/hydra2/config:/config
    restart: unless-stopped
4

0 回答 0