Skip to content

๐ŸŒฉ๏ธ DockFlare โ€” Cloudflare Tunnel Manager

Host: Homelab ยท Compose: Homelab/DockFlare/compose.yaml
Stack name: dockflare

1. Overview

DockFlare is a self-hosted manager for Cloudflare Tunnels. It watches Docker container labels (prefixed dockflare.) and automatically creates/updates Cloudflare Tunnel routes (DNS + Access policies) for any labelled service โ€” eliminating the need to open ports in your router. A Redis cache backs the routing state. A dedicated dockflare-rules busybox sidecar holds labels for services that run on other hosts (NAS, Proxmox, etc.) without their own Docker daemon.


2. Architecture & Services

Service Image Port Role
docker-socket-proxy tecnativa/docker-socket-proxy:v0.5.0 โ€” Secure proxy for Docker socket (read-only label events)
dockflare alplat/dockflare:v3.1.5 5000 Core service: reads labels, manages Cloudflare Tunnel routes
dockflare-redis redis:7.4.7-alpine โ€” In-memory state cache for DockFlare
dockflare-rules busybox:1.38.0 โ€” Sidecar container holding dockflare.* labels for non-Docker services

3. Networking

  • cloudflare-net โ€” External network shared with all services that DockFlare proxies through Cloudflare Tunnel. The tunnel daemon itself runs separately (managed by Cloudflare).
  • dockflare-internal โ€” Internal bridge network for DockFlare โ†” Redis โ†” Socket Proxy communication.

4. Persistent Storage

| Container | Host Path / Volume | Description | |---|---|---|| | docker-socket-proxy | /var/run/docker.sock | โ€” | | dockflare | /docker/data/services/dockflare/data | DockFlare state / DB | | dockflare-redis | /docker/data/services/dockflare/redis | Redis persistence (disabled โ€” in-memory only) |


5. Environment Variables

Variable Service Description
CONTAINERS docker-socket-proxy โ€”
DOCKER_HOST docker-socket-proxy Routed via socket proxy (tcp://docker-socket-proxy:2375)
EVENTS docker-socket-proxy โ€”
EXEC docker-socket-proxy โ€”
IMAGES docker-socket-proxy โ€”
INFO docker-socket-proxy โ€”
NETWORKS docker-socket-proxy โ€”
PING docker-socket-proxy โ€”
POST docker-socket-proxy โ€”
DOCKER_HOST dockflare Routed via socket proxy (tcp://docker-socket-proxy:2375)
REDIS_URL dockflare Redis connection string
TZ dockflare Australia/Sydney

6. Access & Usage

URL Description
https://dockflare.m1ckyb.com DockFlare web UI
http://localhost:5000 Direct local access
# Start the stack
docker compose -f Homelab/DockFlare/compose.yaml up -d

# Check DockFlare logs
docker logs dockflare -f

7. Maintenance & Backup

# Update
docker compose -f Homelab/DockFlare/compose.yaml pull
docker compose -f Homelab/DockFlare/compose.yaml up -d

# Backup DockFlare data
rsync -av /docker/data/services/dockflare/ /backup/dockflare/

[!NOTE] If DockFlare loses its state (Redis cleared), it will re-read all container labels on next start and recreate routes. No manual intervention needed.