๐ฉ๏ธ 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.