Sign inSign up

hapheus/cf-tunnel-dashboard

By hapheus

•Updated about 15 hours ago

Web management dashboard for cf-docker-tunnel-sync

Image
Networking
Developer tools
0

10K+

hapheus/cf-tunnel-dashboard repository overview

⁠Cloudflare Tunnel dashboard

hapheus/cf-tunnel-dashboard is an optional Nginx frontend for hapheus/cf-tunnel-sync⁠. It serves a dashboard and proxies /api/* to the backend. It needs neither Docker socket access nor Cloudflare credentials.

Dashboard preview

The sync backend also serves an embedded dashboard. Choose one frontend arrangement; the companion container is not required for synchronization.

⁠Configure

VariableDefaultEffect
DASHBOARD_AUTH_ENABLEDtrueAccepts true or false; enables frontend Basic Auth.
BASIC_AUTH_USERNAMEEmptyRequired when frontend authentication is enabled.
BASIC_AUTH_PASSWORDEmptyRequired when frontend authentication is enabled.
SYNC_BACKEND_HOSTcf-tunnel-syncBackend Docker hostname.
SYNC_BACKEND_PORT8090Backend internal API port.

With auth enabled and missing credentials, the entrypoint exits instead of starting Nginx. Configure the backend's authentication deliberately as well. The frontend proxy does not remove the need to protect a separately published backend.

⁠Add to an existing gateway

This fragment assumes the backend is named cf-tunnel-sync and already reachable on cf-tunnel-net. Supply your own password through the Compose environment:

services:
  cf-tunnel-dashboard:
    image: hapheus/cf-tunnel-dashboard:latest
    restart: unless-stopped
    ports:
      - "127.0.0.1:8080:80"
    environment:
      DASHBOARD_AUTH_ENABLED: "true"
      BASIC_AUTH_USERNAME: admin
      BASIC_AUTH_PASSWORD: ${BASIC_AUTH_PASSWORD}
      SYNC_BACKEND_HOST: cf-tunnel-sync
      SYNC_BACKEND_PORT: "8090"
    networks:
      - cf-tunnel-net

networks:
  cf-tunnel-net:
    external: true

Recreate the service and visit http://localhost:8080. Select a different host port if one is already in use. For remote access, configure a deliberate protected route; Basic Auth over unencrypted HTTP is not suitable for an untrusted network.

The frontend's public /health reports Nginx availability, not backend sync or application health. Other status values reflect backend observations, not a separate reachability probe. An Access metadata label does not configure a Cloudflare Access policy.

Quickstart⁠ · API⁠ · Security⁠

Tag summary

Content type

Image

Digest

sha256:65be4bc81…

Size

27.8 MB

Last updated

about 15 hours ago

docker pull hapheus/cf-tunnel-dashboard