81 lines
1.7 KiB
YAML
81 lines
1.7 KiB
YAML
services:
|
|
postgres:
|
|
image: postgres:17
|
|
restart: unless-stopped
|
|
env_file: ./.env
|
|
volumes:
|
|
- pgdata:/var/lib/postgresql/data
|
|
healthcheck:
|
|
test: ["CMD", "pg_isready", "-U", "postgres"]
|
|
interval: 10s
|
|
retries: 5
|
|
start_period: 10s
|
|
timeout: 10s
|
|
deploy:
|
|
replicas: 1
|
|
restart_policy:
|
|
condition: on-failure
|
|
delay: 5s
|
|
max_attempts: 5
|
|
window: 60s
|
|
|
|
server:
|
|
image: gitea.futureporn.net/futureporn/our:latest
|
|
env_file: ./.env
|
|
depends_on:
|
|
- postgres
|
|
init: true
|
|
entrypoint: >
|
|
sh -c "npx prisma migrate deploy && npm run start:server"
|
|
volumes:
|
|
- /mnt/vfs/futureporn:/mnt/vfs/futureporn
|
|
ports:
|
|
- target: 5000 # container port
|
|
published: 8084 # Swarm ingress port
|
|
protocol: tcp
|
|
mode: ingress
|
|
|
|
worker:
|
|
image: gitea.futureporn.net/futureporn/our:latest
|
|
env_file: ./.env
|
|
depends_on:
|
|
- postgres
|
|
init: true
|
|
entrypoint: >
|
|
sh -c "npm run start:worker"
|
|
volumes:
|
|
- /mnt/vfs/futureporn:/mnt/vfs/futureporn
|
|
deploy:
|
|
replicas: 2
|
|
restart_policy:
|
|
condition: on-failure
|
|
delay: 5s
|
|
max_attempts: 5
|
|
window: 60s
|
|
update_config:
|
|
parallelism: 1
|
|
delay: 10s
|
|
resources:
|
|
limits:
|
|
cpus: "0.5"
|
|
memory: 2G
|
|
|
|
qbittorrent:
|
|
image: gitea.futureporn.net/futureporn/qbittorrent-nox:latest
|
|
env_file: ./.env
|
|
init: false
|
|
volumes:
|
|
- /mnt/vfs/futureporn:/mnt/vfs/futureporn
|
|
|
|
pgadmin:
|
|
image: dpage/pgadmin4:latest
|
|
env_file: ./.env
|
|
ports:
|
|
- target: 5050
|
|
published: 8095
|
|
protocol: tcp
|
|
mode: ingress
|
|
|
|
volumes:
|
|
pgdata:
|