services: git-sync: image: alpine/git:latest container_name: git-sync restart: unless-stopped volumes: - ./sync.sh:/sync.sh:ro - git-sync-data:/tmp/git-sync entrypoint: ["/bin/sh", "/sync.sh"] environment: # IONOS Gitea token (source of truth — Work Lumen pushes here) IONOS_TOKEN: ${IONOS_TOKEN} # TrueNAS Gitea token (homelab — pull target) TRUENAS_TOKEN: ${TRUENAS_TOKEN} TRUENAS_HOST: 192.168.188.119:30008 IONOS_HOST: git.plate-software.de GITEA_USER: pplate # Space-separated list of repos to sync IONOS → TrueNAS # cannamanage.wiki = Gitea wiki (separate git repo) REPOS: cannamanage cannamanage.wiki # Sync interval in seconds (300 = 5 minutes) INTERVAL: "300" extra_hosts: - "host.docker.internal:host-gateway" volumes: git-sync-data: