All checks were successful
Deploy / deploy (push) Successful in 12s
- outline_sync.py: write compare results to /tmp/compare_results.json with full doc maps for parent-chain lookup during copy operations - webui.py: /review page with remote-only, local-only, conflict tables; /review/content endpoint to fetch doc text from either instance; /review/apply endpoint for copy_to_local, copy_to_remote, keep_remote, keep_local, skip actions; "Compare Instances" button on dashboard; "Review Differences" link shown after compare completes - entrypoint.sh: include local block in generated settings.json - docker-compose.yml: pass LOCAL_OUTLINE_URL/TOKEN/HOST env vars - deploy.yml: write LOCAL_* secrets to .env file Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
60 lines
1.8 KiB
YAML
60 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=authentik@docker"
|
|
- "traefik.http.services.outline-sync.loadbalancer.server.port=8080"
|
|
|
|
outline-sync-ui:
|
|
build:
|
|
context: .
|
|
args:
|
|
APP_VERSION: ${APP_VERSION:-dev}
|
|
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
|