diff --git a/12_torrent/Dockerfile b/12_torrent/Dockerfile new file mode 100644 index 0000000..7f4d4fa --- /dev/null +++ b/12_torrent/Dockerfile @@ -0,0 +1,25 @@ +FROM debian:trixie-slim + +RUN apt-get update \ + && apt-get install -y --no-install-recommends \ + bash \ + ca-certificates \ + curl \ + iproute2 \ + iptables \ + jq \ + procps \ + wireguard-tools \ + && rm -rf /var/lib/apt/lists/* + +COPY pia-manual-connections /opt/pia-manual-connections + +RUN chmod +x /opt/pia-manual-connections/*.sh + +WORKDIR /opt/pia-manual-connections + +COPY entrypoint.sh /entrypoint.sh + +RUN chmod +x /entrypoint.sh + +ENTRYPOINT ["./run_setup.sh"] diff --git a/12_torrent/docker-compose.yml b/12_torrent/docker-compose.yml index 0ee9319..effc3b9 100644 --- a/12_torrent/docker-compose.yml +++ b/12_torrent/docker-compose.yml @@ -1,45 +1,26 @@ services: - gluetun: - image: qmcgaw/gluetun:latest + wireguard: + build: + context: . + dockerfile: Dockerfile restart: unless-stopped cap_add: - NET_ADMIN devices: - /dev/net/tun:/dev/net/tun environment: - VPN_SERVICE_PROVIDER: custom - VPN_TYPE: wireguard - - VPN_PORT_FORWARDING: on - VPN_PORT_FORWARDING_PROVIDER: private internet access - VPN_PORT_FORWARDING_USERNAME: ${PIA_USER} - VPN_PORT_FORWARDING_PASSWORD: ${PIA_PASSWORD} - SERVER_NAMES: ${PIA_SERVER_NAME} - VPN_PORT_FORWARDING_STATUS_FILE: /gluetun/forwarded_port - + PIA_USER: ${PIA_USER} + PIA_PASS: ${PIA_PASSWORD} + PIA_PF: "true" + PIA_DNS: "true" + PIA_CONNECT: "true" + VPN_PROTOCOL: wireguard + DISABLE_IPV6: "yes" + AUTOCONNECT: "false" + PREFERRED_REGION: ${PIA_SERVER_NAME} TZ: Europe/Paris - DNS_ADDRESS: 1.1.1.1 - FIREWALL_OUTBOUND_SUBNETS: 10.10.0.0/24 - - WIREGUARD_MTU: "1280" - - HEALTH_VPN_DURATION_INITIAL: 30s - HEALTH_VPN_DURATION_ADDITION: 30s - HEALTH_VPN_INTERVAL: 30s - HEALTH_VPN_ENDPOINT_IP: 1.1.1.1 - - VPN_PORT_FORWARDING_UP_COMMAND: >- - /bin/sh -c 'wget -O- -nv --retry-connrefused - --post-data "json={\"listen_port\":{{PORT}},\"current_network_interface\":\"{{VPN_INTERFACE}}\",\"random_port\":false,\"upnp\":false}" - http://127.0.0.1:8090/api/v2/app/setPreferences' - - VPN_PORT_FORWARDING_DOWN_COMMAND: >- - /bin/sh -c 'wget -O- -nv --retry-connrefused - --post-data "json={\"listen_port\":0,\"current_network_interface\":\"lo\"}" - http://127.0.0.1:8090/api/v2/app/setPreferences' volumes: - - /home/docker/DenGate:/gluetun - - /home/docker/DenGate/pia.conf:/gluetun/wireguard/wg0.conf:ro + - /home/docker/DenGate/pia-manual:/opt/piavpn-manual ports: - 6881:6881 - 6881:6881/udp @@ -103,7 +84,9 @@ services: - traefik.http.services.tdarr.loadbalancer.server.port=8265 healthcheck: - test: ["CMD-SHELL", "/gluetun-entrypoint healthcheck"] + test: + - CMD-SHELL + - wg show 2>/dev/null | grep -q interface interval: 10s timeout: 5s start_period: 90s @@ -112,7 +95,7 @@ services: qbittorrent: image: lscr.io/linuxserver/qbittorrent:latest restart: unless-stopped - network_mode: service:gluetun + network_mode: service:wireguard environment: - PUID=1000 - PGID=1000 @@ -123,14 +106,14 @@ services: - /home/docker/BitDen/config:/config - /mnt/bindmounts/multimedia/Downloads:/downloads depends_on: - gluetun: + wireguard: condition: service_healthy neko: image: ghcr.io/m1k1o/neko/firefox:latest restart: unless-stopped shm_size: 2gb - network_mode: service:gluetun + network_mode: service:wireguard volumes: - /home/docker/BrowDen/firefox:/home/neko/.mozilla/firefox environment: @@ -140,13 +123,13 @@ services: - NEKO_MEMBER_MULTIUSER_USER_PASSWORD=${NEKO_USER_PASS} - NEKO_MEMBER_MULTIUSER_ADMIN_PASSWORD=${NEKO_ADMIN_PASS} depends_on: - gluetun: + wireguard: condition: service_healthy prowlarr: image: lscr.io/linuxserver/prowlarr:latest restart: unless-stopped - network_mode: service:gluetun + network_mode: service:wireguard environment: - PUID=1000 - PGID=1000 @@ -154,13 +137,13 @@ services: volumes: - /home/docker/ProwDen/config:/config depends_on: - gluetun: + wireguard: condition: service_healthy jackett: image: lscr.io/linuxserver/jackett:latest restart: unless-stopped - network_mode: service:gluetun + network_mode: service:wireguard environment: - FLARESOLVERR_URL=http://127.0.0.1:8191 - PUID=1000 @@ -171,24 +154,24 @@ services: - /home/docker/ProwDen/jackett/config:/config - /home/docker/ProwDen/jackett/downloads:/downloads depends_on: - gluetun: + wireguard: condition: service_healthy flaresolverr: image: ghcr.io/flaresolverr/flaresolverr:latest restart: unless-stopped - network_mode: service:gluetun + network_mode: service:wireguard environment: - TZ=Europe/Paris - LOG_LEVEL=info depends_on: - gluetun: + wireguard: condition: service_healthy radarr: image: lscr.io/linuxserver/radarr:latest restart: unless-stopped - network_mode: service:gluetun + network_mode: service:wireguard environment: - PUID=1000 - PGID=1000 @@ -198,13 +181,13 @@ services: - /mnt/bindmounts/multimedia/Médias:/movies - /mnt/bindmounts/multimedia/Downloads:/downloads depends_on: - gluetun: + wireguard: condition: service_healthy sonarr: image: lscr.io/linuxserver/sonarr:latest restart: unless-stopped - network_mode: service:gluetun + network_mode: service:wireguard environment: - PUID=1000 - PGID=1000 @@ -214,27 +197,27 @@ services: - /mnt/bindmounts/multimedia/Médias:/tv - /mnt/bindmounts/multimedia/Downloads:/downloads depends_on: - gluetun: + wireguard: condition: service_healthy seerr: image: ghcr.io/seerr-team/seerr:latest restart: unless-stopped init: true - network_mode: service:gluetun + network_mode: service:wireguard environment: - LOG_LEVEL=debug - TZ=Europe/Paris volumes: - /home/docker/DenRequest/config:/app/config depends_on: - gluetun: + wireguard: condition: service_healthy tdarr: image: ghcr.io/haveagitgat/tdarr:latest restart: unless-stopped - network_mode: service:gluetun + network_mode: service:wireguard environment: - TZ=Europe/Paris - PUID=1000 @@ -265,7 +248,7 @@ services: devices: - /dev/dri:/dev/dri depends_on: - gluetun: + wireguard: condition: service_healthy networks: diff --git a/12_torrent/entrypoint.sh b/12_torrent/entrypoint.sh new file mode 100644 index 0000000..aa70043 --- /dev/null +++ b/12_torrent/entrypoint.sh @@ -0,0 +1,8 @@ +#!/usr/bin/env bash +set -e + +cd /opt/pia-manual-connections + +./run_setup.sh + +exec tail -f /dev/null