docker-mirror/docker-compose-tunnels.yml

59 lines
2.0 KiB
YAML
Raw Normal View History

2022-02-27 19:46:48 +00:00
version: "3.7"
services:
nginx:
2022-11-27 00:01:43 +00:00
image: nginx
2022-02-27 19:46:48 +00:00
container_name: nginx
hostname: ${DOMAIN_NAME:?err}
volumes:
- './http-root:/var/lib/nginx/html/http-root:ro'
2022-02-27 19:46:48 +00:00
- './preset/nginx.conf:/etc/nginx/nginx.conf:ro'
- './preset/conf.d-tunnels:/etc/nginx/conf.d:ro'
restart: ${RESTART:-unless-stopped}
2022-02-27 19:46:48 +00:00
syncthing:
image: syncthing/syncthing:latest
2022-02-27 19:46:48 +00:00
container_name: syncthing
hostname: ${DOMAIN_NAME:?err}
environment:
- PUID=1000
- PGID=1000
volumes:
- './data/syncthing:/var/syncthing/config'
- './http-root/chaotic-aur:/repo'
2022-02-27 19:46:48 +00:00
ports:
- '127.0.0.1:8384:8384'
2022-02-27 19:46:48 +00:00
- 22000:22000/tcp
- 22000:22000/udp
- 21027:21027/udp
2022-07-23 18:41:50 +00:00
restart: ${RESTART:-unless-stopped}
2022-02-27 19:46:48 +00:00
chaotic-management:
container_name: chaotic-management
restart: ${RESTART:-unless-stopped}
image: nginx
2022-11-26 06:14:43 +00:00
volumes:
- './data:/data'
entrypoint:
- /bin/sh
- -c
- |
2022-11-27 00:01:43 +00:00
trap exit TERM INT;
2022-11-26 06:14:43 +00:00
sleep 10;
while :; do
2022-11-27 00:01:43 +00:00
apikey="$$(grep -oPm 1 '(?<=\<apikey\>).*(?=\</apikey\>)' /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;
2022-11-26 06:14:43 +00:00
sed -i -r '/<device id="ZDHVMSP-EW4TMWX-DBH2W4P-HV5A6OY-BBEFABO-QTENANJ-RJ6GKNX-6KCG7QY"/! s|(^ *<device .*id="[^"]+".*skipIntroductionRemovals="false".*introducedBy=")(">)|\1ZDHVMSP-EW4TMWX-DBH2W4P-HV5A6OY-BBEFABO-QTENANJ-RJ6GKNX-6KCG7QY\2|' /data/syncthing/config.xml
sleep 1h &
wait $${!};
done;
2022-02-27 19:46:48 +00:00
cloudflared:
image: erisamoe/cloudflared:latest
2022-02-27 19:46:48 +00:00
container_name: cloudflared
2022-07-11 18:08:38 +00:00
command: --origincert /root/.cloudflared/cert.pem tunnel run --url http://nginx ${DOMAIN_NAME:?err}
2022-02-27 19:46:48 +00:00
volumes:
- './data/cloudflared/etc:/etc/cloudflared'
- './data/cloudflared/home:/root'
2022-07-11 18:08:38 +00:00
- './preset/passwd:/etc/passwd'
2022-11-26 06:14:43 +00:00
restart: ${RESTART:-unless-stopped}