Files
pngx-sync/docker-compose.yml
domverse e5c8a27ccf
All checks were successful
Deploy / deploy (push) Successful in 11s
feat: switch to Tailscale sidecar + Traefik/Authentik via pngx.domverse-berlin.eu
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-22 18:11:33 +01:00

56 lines
1.4 KiB
YAML

name: pngx-controller
services:
pngx-controller-ts:
image: tailscale/tailscale
container_name: pngx-controller-ts
hostname: pngx-controller
environment:
- TS_AUTHKEY=${TS_AUTHKEY}
- TS_STATE_DIR=/var/lib/tailscale
- TS_USERSPACE=false
- TS_EXTRA_ARGS=--accept-routes
volumes:
- tailscale-state:/var/lib/tailscale
- /dev/net/tun:/dev/net/tun
cap_add:
- NET_ADMIN
- NET_RAW
restart: unless-stopped
networks:
- default
- domverse
labels:
- "traefik.docker.network=domverse"
- "traefik.enable=true"
- "traefik.http.routers.pngx-controller.rule=Host(`pngx.domverse-berlin.eu`)"
- "traefik.http.routers.pngx-controller.entrypoints=https"
- "traefik.http.routers.pngx-controller.tls.certresolver=http"
- "traefik.http.routers.pngx-controller.middlewares=authentik@docker"
- "traefik.http.services.pngx-controller.loadbalancer.server.port=8000"
pngx-controller:
build:
context: .
args:
APP_VERSION: ${APP_VERSION:-dev}
container_name: pngx-controller
restart: unless-stopped
depends_on:
- pngx-controller-ts
network_mode: "service:pngx-controller-ts"
env_file: .env
environment:
DATABASE_URL: sqlite:////data/db.sqlite3
volumes:
- ./data:/data
volumes:
tailscale-state:
driver: local
networks:
default: {}
domverse:
external: true