
Ricky Lin
Monday, September 25, 2023
Cloudflare tunnel on Synology
Setup Synology
- Create a directory in docker directory, such as cloudflare-tunnel.
- Download cloudflared/cloudflared image to registry.
- ssh to admin@synology
- Change cloudflare-tunnelowner,sudo chown -R 65532:65532 /volume1/docker/cloudflare-tunnel.
Run containers
- cloudflared tunnel login
- Run container and mount volume docker/cloudflare-tunnel:/home/nonroot/.cloudflared.
- Select Use the same network as Docker Hostin network tab.
- Add command tunnel loginin envorinment tab.
- Go to container log, and copy login url.
- Paste url to browser and authorize the zone.
- Export the container setting json to the directory cloudflare-tunnel.
- cloudflared tunnel create synology-tunnel
- Edit the container setting json in the the directory cloudflare-tunnel, modify cmd.tunnel create synology-tunnel.
- Import the container setting json and run a new container.
- The container will stop and create tunnel config json in cloudflare-tunnel.
- Create config.yml and write ingress rules.
- In config.yml, tunnel value is the same as the tunnel config json name, and credentials-file is /home/nonroot/.cloudflared/tunnel config json
- Export the second container setting json to the directory cloudflare-tunnel.
- cloudflared tunnel route dns synology-tunnel synology.ruru910.com
- Edit the second container setting json in the the directory cloudflare-tunnel, modify cmd.tunnel route dns synology-tunnel synology.ruru910.com.
- Import the second container setting json and run a new container.
- The container will stop and create a dns record mapping domain to the tunnel.
- cloudflared tunnel run synology-tunnel
- Edit the second container setting json in the the directory cloudflare-tunnel, modify cmd.tunnel run synology-tunnel.
- Import the second container setting json and run a new container.
- The tunnel now is connectable.
Reference