version: "3.7" services: nginx: image: nginx container_name: nginx hostname: ${DOMAIN_NAME:?err} volumes: - './http-root:/var/lib/nginx/html/http-root:ro' - './preset/nginx.conf:/etc/nginx/nginx.conf:ro' - './preset/conf.d-tunnels:/etc/nginx/conf.d:ro' restart: ${RESTART:-unless-stopped} syncthing: image: syncthing/syncthing:latest container_name: syncthing hostname: ${DOMAIN_NAME:?err} environment: - PUID=1000 - PGID=1000 volumes: - './data/syncthing:/var/syncthing/config' - './http-root/chaotic-aur:/repo' ports: - '127.0.0.1:8384:8384' - 22000:22000/tcp - 22000:22000/udp - 21027:21027/udp restart: ${RESTART:-unless-stopped} chaotic-management: container_name: chaotic-management restart: ${RESTART:-unless-stopped} image: nginx volumes: - './data:/data' entrypoint: - /bin/sh - -c - | trap exit TERM INT; sleep 10; while :; do apikey="$$(grep -oPm 1 '(?<=\).*(?=\)' /data/syncthing/config.xml)" curl -s --fail -X POST -H "X-API-Key: $$apikey" http://syncthing:8384/rest/db/revert?folder=jhcrt-m2dra || echo Failed to revert folder; sed -i -r '/)|\1ZDHVMSP-EW4TMWX-DBH2W4P-HV5A6OY-BBEFABO-QTENANJ-RJ6GKNX-6KCG7QY\2|' /data/syncthing/config.xml sleep 1h & wait $${!}; done; cloudflared: image: erisamoe/cloudflared:latest container_name: cloudflared command: --origincert /root/.cloudflared/cert.pem tunnel run --url http://nginx ${DOMAIN_NAME:?err} volumes: - './data/cloudflared/etc:/etc/cloudflared' - './data/cloudflared/home:/root' - './preset/passwd:/etc/passwd' restart: ${RESTART:-unless-stopped}