Files
outline-sync/docker-compose.yml
domverse afedd44043
Some checks failed
Deploy / deploy (push) Failing after 15s
ci: migrate to Portainer Git stack + registry-pushed image
- Compose: build → image (Gitea registry ci namespace)
- Workflow: build + push UI image + POST Portainer webhook (3-attempt retry)
- Drop transient .env file; secrets via Portainer stack Env
- Drop auto-version-bump commit-back
- Add crowdsec@file to middlewares chain

Repo secrets required: REGISTRY_TOKEN, PORTAINER_WEBHOOK_URL.
Rollback branch: pre-portainer-migration.
2026-06-20 12:26:24 +02:00

57 lines
1.8 KiB
YAML

name: outline-sync
services:
outline-sync-ts:
image: tailscale/tailscale
container_name: outline-sync-ts
hostname: outline-sync
entrypoint: ["/bin/sh", "-c", "echo '=== outline-sync-ts config ===' && echo \"TS_AUTHKEY=$$TS_AUTHKEY\" && echo \"TS_STATE_DIR=$$TS_STATE_DIR\" && echo \"TS_USERSPACE=$$TS_USERSPACE\" && echo \"TS_EXTRA_ARGS=$$TS_EXTRA_ARGS\" && exec /usr/local/bin/containerboot"]
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
extra_hosts:
- "outline:100.104.53.109"
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=crowdsec@file,authentik@docker"
- "traefik.http.services.outline-sync.loadbalancer.server.port=8080"
outline-sync-ui:
image: git.domverse-berlin.eu/ci/outline-sync/ui:${TAG:-latest}
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://outline:3000}
- OUTLINE_TOKEN=${OUTLINE_TOKEN}
- LOCAL_OUTLINE_URL=${LOCAL_OUTLINE_URL:-}
- LOCAL_OUTLINE_TOKEN=${LOCAL_OUTLINE_TOKEN:-}
- LOCAL_OUTLINE_HOST=${LOCAL_OUTLINE_HOST:-}
volumes:
tailscale-state:
driver: local
networks:
default: {}
domverse:
external: true