version: "3.9"
|
|
|
|
services:
|
|
request:
|
|
build:
|
|
context: .
|
|
args:
|
|
SERVICE: request
|
|
depends_on:
|
|
- "database"
|
|
- "torrent_client"
|
|
env_file:
|
|
- ./services/request/.env
|
|
links:
|
|
- "database"
|
|
- "torrent_client"
|
|
ports:
|
|
- 3200:3200
|
|
restart: unless-stopped
|
|
secrets:
|
|
- app_key
|
|
- discord_bot_key
|
|
- mysql_root_password
|
|
- plex_token
|
|
- tmdb_key
|
|
- tvdb_key
|
|
- tvdb_pin
|
|
user: ${UID}:${GID}
|
|
volumes:
|
|
- var:/var/autoplex
|
|
|
|
seeker:
|
|
build:
|
|
context: .
|
|
args:
|
|
SERVICE: seeker
|
|
depends_on:
|
|
- "database"
|
|
- "torrent_client"
|
|
env_file:
|
|
- ./services/seeker/.env
|
|
links:
|
|
- "database"
|
|
- "torrent_client"
|
|
restart: unless-stopped
|
|
secrets:
|
|
- mysql_root_password
|
|
user: ${UID}:${GID}
|
|
volumes:
|
|
- var:/var/autoplex
|
|
|
|
torrent_webui:
|
|
build:
|
|
context: .
|
|
args:
|
|
SERVICE: torrent-webui
|
|
depends_on:
|
|
- "database"
|
|
- "torrent_client"
|
|
env_file:
|
|
- ./services/torrent-webui/.env
|
|
links:
|
|
- "database"
|
|
- "torrent_client"
|
|
ports:
|
|
- 3300:3300
|
|
secrets:
|
|
- mysql_root_password
|
|
user: ${UID}:${GID}
|
|
volumes:
|
|
- var:/var/autoplex
|
|
|
|
torrent_client:
|
|
build:
|
|
context: .
|
|
args:
|
|
BASE: base-slim
|
|
SERVICE: torrent-client
|
|
depends_on:
|
|
- "database"
|
|
- "vpn"
|
|
env_file:
|
|
- ./services/torrent-client/.env
|
|
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:
|
|
- mysql_root_password
|
|
user: ${UID}:${GID}
|
|
volumes:
|
|
- var:/var/autoplex
|
|
|
|
database:
|
|
image: mysql
|
|
command: --default-authentication-plugin=mysql_native_password
|
|
environment:
|
|
MYSQL_ROOT_PASSWORD_FILE: /run/secrets/mysql_root_password
|
|
ports:
|
|
- 33061:3306
|
|
restart: unless-stopped
|
|
security_opt:
|
|
- seccomp=unconfined
|
|
secrets:
|
|
- mysql_root_password
|
|
volumes:
|
|
- ./bootstrap/database/init:/docker-entrypoint-initdb.d
|
|
- mysql:/var/lib/mysql
|
|
|
|
vpn:
|
|
build:
|
|
context: ./utils/vpn
|
|
cap_add:
|
|
- net_admin
|
|
command:
|
|
- '-f ""'
|
|
environment:
|
|
TZ: "CST6CDT"
|
|
links:
|
|
- "database"
|
|
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:
|
|
app_key:
|
|
file: ./.secrets/app_key
|
|
discord_bot_key:
|
|
file: ./.secrets/discord_bot_key
|
|
mysql_root_password:
|
|
file: ./.secrets/mysql_root_password
|
|
plex_token:
|
|
file: ./.secrets/plex_token
|
|
tmdb_key:
|
|
file: ./.secrets/tmdb_key
|
|
tvdb_key:
|
|
file: ./.secrets/tvdb_key
|
|
tvdb_pin:
|
|
file: ./.secrets/tvdb_pin
|
|
vpn_auth:
|
|
file: ./.secrets/vpn_auth
|
|
|
|
volumes:
|
|
mysql:
|
|
var:
|