version: "3.9"
|
|
|
|
services:
|
|
|
|
mongo:
|
|
image: mongo
|
|
restart: always
|
|
environment:
|
|
MONGO_INITDB_ROOT_USERNAME: root
|
|
MONGO_INITDB_ROOT_PASSWORD_FILE: /run/secrets/mongo_root_password
|
|
secrets:
|
|
- mongo_root_password
|
|
|
|
torrent_client:
|
|
build:
|
|
context: .
|
|
args:
|
|
BASE: slim
|
|
SERVICE: torrent-client
|
|
depends_on:
|
|
- "mongo"
|
|
- "vpn"
|
|
healthcheck:
|
|
test: ["CMD", "ping", "-q", "-c1", "google.com"]
|
|
interval: 5m
|
|
timeout: 10s
|
|
retries: 3
|
|
start_period: 5m
|
|
network_mode: service:vpn
|
|
restart: unless-stopped
|
|
secrets:
|
|
- mongo_root_password
|
|
user: ${USER_ID}:${GROUP_ID}
|
|
volumes:
|
|
- var:/var/autoplex
|
|
|
|
vpn:
|
|
build:
|
|
context: ./submodules/vpn
|
|
cap_add:
|
|
- net_admin
|
|
command:
|
|
- '-f ""'
|
|
environment:
|
|
TZ: "CST6CDT"
|
|
links:
|
|
- "mongo" # for the torrent client
|
|
networks:
|
|
- default
|
|
read_only: true
|
|
tmpfs:
|
|
- /run
|
|
- /tmp
|
|
restart: unless-stopped
|
|
secrets:
|
|
- vpn_auth
|
|
security_opt:
|
|
- label:disable
|
|
stdin_open: true
|
|
tty: true
|
|
volumes:
|
|
- /dev/net:/dev/net:z
|
|
- ./.volumes/vpn:/vpn
|
|
|
|
secrets:
|
|
mongo_root_password:
|
|
file: ./.secrets/mongo_root_password
|
|
vpn_auth:
|
|
file: ./.secrets/vpn_auth
|
|
|
|
volumes:
|
|
mongo:
|
|
var:
|