name: outline-sync services: outline-sync-ts: image: tailscale/tailscale container_name: outline-sync-ts hostname: outline-sync 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.outline-sync.rule=Host(`sync.domverse-berlin.eu`)" - "traefik.http.routers.outline-sync.entrypoints=https" - "traefik.http.routers.outline-sync.tls.certresolver=http" - "traefik.http.routers.outline-sync.middlewares=authentik@docker" - "traefik.http.services.outline-sync.loadbalancer.server.port=8080" outline-sync-ui: build: . container_name: outline-sync-ui restart: unless-stopped depends_on: - outline-sync-ts network_mode: "service:outline-sync-ts" environment: - OUTLINE_URL=${OUTLINE_URL:-http://172.29.0.13:3000} - OUTLINE_TOKEN=${OUTLINE_TOKEN} - APP_VERSION=${APP_VERSION:-dev} volumes: tailscale-state: driver: local networks: default: {} domverse: external: true