# cloudflared tunnel create ytmd # cloudflared tunnel route dns ytmd ytmd.strudelline.net # cp ~/.cloudflared/*.json /Volumes/webdav.strudelline.net/docker-compose-mounts/cloudflared # # grab the tunnel-id that's output from the first two commands and open this file again # add the tunnel-id to TUNNELID below version: '3' volumes: config: {} services: main: image: ghcr.io/jamesandariese/ytmd-api:main restart: always environment: - "HOST=127.0.0.1" cloudflared-configurator: image: debian:11 environment: - TUNNELID=4f3aba1c-c226-4e14-800f-ad4b8d30dc60 - HOST=ytmd.strudelline.net - SVCPORT=8000 command: - bash - -c - | cat /cloudflared/$${TUNNELID}.json > /config/tunnel.json cat << EOF > /config/cloudflared.yaml tunnel: $${TUNNELID} credentials-file: /config/tunnel.json ingress: - hostname: ytmd.strudelline.net service: http://localhost:$${SVCPORT} - service: http_status:404 EOF volumes: - /volume1/docker-compose-mounts/cloudflared:/cloudflared - config:/config cloudflared: image: cloudflare/cloudflared:latest restart: always depends_on: {"cloudflared-configurator": {"condition": "service_completed_successfully"}} volumes: - config:/config command: tunnel --config /config/cloudflared.yaml run network_mode: service:main