70 lines
2.7 KiB
YAML
70 lines
2.7 KiB
YAML
services:
|
|
gluetun:
|
|
image: qmcgaw/gluetun:latest
|
|
container_name: gluetun
|
|
cap_add:
|
|
- NET_ADMIN
|
|
devices:
|
|
- /dev/net/tun:/dev/net/tun
|
|
sysctls:
|
|
# Debian 13 + yeni kernel'de gorulen "default route not found"
|
|
# crash-loop hatasi icin: IPv6'yi bu container icin kapatiyoruz.
|
|
- net.ipv6.conf.all.disable_ipv6=1
|
|
environment:
|
|
- VPN_SERVICE_PROVIDER=protonvpn
|
|
- VPN_TYPE=wireguard
|
|
- WIREGUARD_PRIVATE_KEY=${WIREGUARD_PRIVATE_KEY}
|
|
- WIREGUARD_ADDRESSES=${WIREGUARD_ADDRESSES}
|
|
- SERVER_COUNTRIES=${SERVER_COUNTRIES:-Netherlands}
|
|
# Sadece P2P/port-forwarding destekleyen sunuculari sec - bu
|
|
# olmadan Gluetun rastgele (P2P desteklemeyen) bir sunucuya
|
|
# baglanip port forwarding'i sonsuza kadar "starting" durumunda
|
|
# birakabiliyor.
|
|
- PORT_FORWARD_ONLY=on
|
|
- FIREWALL_OUTBOUND_SUBNETS=${FIREWALL_OUTBOUND_SUBNETS:-172.16.0.0/12,192.168.0.0/16}
|
|
- TZ=${TZ}
|
|
# ProtonVPN'in NAT-PMP port forwarding'i: Gluetun otomatik port
|
|
# ister, degistiginde asagidaki komutla qBittorrent'in dinleme
|
|
# portunu ANINDA gunceller - elle hicbir sey yapman gerekmiyor.
|
|
- VPN_PORT_FORWARDING=on
|
|
- VPN_PORT_FORWARDING_PROVIDER=protonvpn
|
|
- VPN_PORT_FORWARDING_UP_COMMAND=/bin/sh -c 'wget -O- -nv --retry-connrefused --post-data "json={\"listen_port\":{{PORTS}}}" http://127.0.0.1:61235/api/v2/app/setPreferences'
|
|
ports:
|
|
# Sadece WebUI'yi host'a aciyoruz. Torrent peer portu artik ProtonVPN'in
|
|
# NAT-PMP ile atadigi DINAMIK port - bu, VPN tunelinin (tun0) uzerinden
|
|
# geliyor, Docker'in host network'unden degil, o yuzden burada ayrica
|
|
# bir port yayinlamaya gerek yok (Gluetun kendi firewall'unda otomatik
|
|
# izin veriyor).
|
|
- 61235:61235
|
|
volumes:
|
|
- ${APP_DATA_DIR}/data/gluetun:/gluetun
|
|
restart: unless-stopped
|
|
x-runtipi:
|
|
is_main: true
|
|
internal_port: 61235
|
|
|
|
qbittorrent:
|
|
image: lscr.io/linuxserver/qbittorrent:latest
|
|
container_name: qbittorrent
|
|
# Kendi agi yok, gluetun'un ag namespace'ini paylasiyor - tum
|
|
# trafik VPN tunelinden geciyor (kill switch qbittorrent'i de kapsar).
|
|
network_mode: "service:gluetun"
|
|
depends_on:
|
|
gluetun:
|
|
condition: service_healthy
|
|
environment:
|
|
- PUID=1000
|
|
- PGID=1000
|
|
- TZ=${TZ}
|
|
- WEBUI_PORT=61235
|
|
# Baslangic degeri - Gluetun VPN_PORT_FORWARDING_UP_COMMAND ile
|
|
# baglanir baglanmaz gercek atanan portla otomatik degistiriyor.
|
|
- TORRENTING_PORT=61234
|
|
volumes:
|
|
- ${APP_DATA_DIR}/data/config:/config
|
|
- ${APP_DATA_DIR}/data/downloads:/downloads
|
|
restart: unless-stopped
|
|
|
|
x-runtipi:
|
|
schema_version: 2
|