96 lines
2.2 KiB
YAML
96 lines
2.2 KiB
YAML
services:
|
|
server:
|
|
image: gitea.futureporn.net/futureporn/our:latest
|
|
init: true
|
|
command: >
|
|
sh -c "npx prisma migrate deploy && npm run start:server"
|
|
volumes:
|
|
- /mnt/vfs/futureporn:/mnt/vfs/futureporn
|
|
ports:
|
|
- target: 3000
|
|
published: 8086
|
|
protocol: tcp
|
|
mode: ingress
|
|
healthcheck:
|
|
test: ["CMD", "wget", "-qO-", "http://127.0.0.1:3000/health"]
|
|
interval: 10s
|
|
retries: 5
|
|
start_period: 10s
|
|
timeout: 10s
|
|
|
|
worker:
|
|
image: gitea.futureporn.net/futureporn/our:latest
|
|
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
|
|
init: false
|
|
volumes:
|
|
- /mnt/vfs/futureporn:/mnt/vfs/futureporn
|
|
|
|
postgres:
|
|
image: postgres:17
|
|
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
|
|
|
|
pgadmin:
|
|
image: dpage/pgadmin4:latest
|
|
network_mode: service:tailscale-pgadmin
|
|
environment:
|
|
PGADMIN_DISABLE_POSTFIX: 1
|
|
|
|
tailscale-pgadmin:
|
|
image: tailscale/tailscale:latest
|
|
volumes:
|
|
- /mnt/vfs/futureporn/tailscale/state:/var/lib/tailscale
|
|
- /mnt/vfs/futureporn/tailscale/config:/config
|
|
devices:
|
|
- /dev/net/tun:/dev/net/tun
|
|
cap_add:
|
|
- net_admin
|
|
restart: unless-stopped
|
|
environment:
|
|
TS_EXTRA_ARGS: --advertise-tags=tag:container --reset"
|
|
TS_SERVE_CONFIG: /config/pgadmin.json
|
|
TS_STATE_DIR: /var/lib/tailscale
|
|
TS_USERSPACE: "false"
|
|
|
|
volumes:
|
|
pgdata:
|
|
|
|
networks:
|
|
default:
|
|
external: true
|
|
name: our
|