mirror of
https://github.com/ChrispyBacon-dev/DockFlare.git
synced 2026-04-28 11:49:34 +00:00
98 lines
3 KiB
YAML
98 lines
3 KiB
YAML
version: '3.8'
|
|
|
|
services:
|
|
docker-socket-proxy:
|
|
image: tecnativa/docker-socket-proxy:v0.4.1
|
|
container_name: docker-socket-proxy
|
|
restart: unless-stopped
|
|
logging:
|
|
driver: "none" # Minimize the logs, remove for verbose
|
|
environment:
|
|
- DOCKER_HOST=unix:///var/run/docker.sock
|
|
- CONTAINERS=1
|
|
- EVENTS=1
|
|
- NETWORKS=1
|
|
- IMAGES=1
|
|
- POST=1
|
|
- PING=1
|
|
- INFO=1
|
|
- EXEC=1
|
|
volumes:
|
|
- /var/run/docker.sock:/var/run/docker.sock
|
|
networks:
|
|
- dockflare-internal
|
|
|
|
dockflare-init:
|
|
image: alpine:3.20
|
|
command: ["sh", "-c", "chown -R ${DOCKFLARE_UID:-65532}:${DOCKFLARE_GID:-65532} /app/data"]
|
|
volumes:
|
|
- dockflare_data:/app/data
|
|
networks:
|
|
- dockflare-internal
|
|
restart: "no"
|
|
|
|
dockflare:
|
|
#build: ./dockflare
|
|
image: alplat/dockflare:stable
|
|
container_name: dockflare
|
|
restart: unless-stopped
|
|
ports:
|
|
- "5000:5000"
|
|
#labels: # -- Cloudflare Tunnel Configuration (via DockFlare) OPTIONAL --
|
|
# Main DockFlare with access policy
|
|
#- dockflare.enable=true
|
|
#- dockflare.hostname=dockflare.example.tld
|
|
#- dockflare.service=http://dockflare:5000
|
|
#- dockflare.access.group=YOUR-ACCESS-GROUP-ID # your custom access policy
|
|
# -- OAuth Callback Path (Bypass Access Policy) OPTIONAL --
|
|
# Required if using OAuth authentication with access policies on main interface
|
|
#- dockflare.0.hostname=dockflare.example.tld
|
|
#- dockflare.0.path=/auth/google/callback
|
|
#- dockflare.0.service=http://dockflare:5000
|
|
#- dockflare.0.access.group=public-default-bypass
|
|
|
|
# Add additional callback paths for other OAuth providers as needed
|
|
# - dockflare.1.hostname=dockflare.example.com
|
|
# - dockflare.1.path=/auth/github/callback
|
|
# - dockflare.1.service=http://dockflare:5000
|
|
# - dockflare.1.access.group=public-default-bypass
|
|
volumes:
|
|
- dockflare_data:/app/data
|
|
environment:
|
|
- REDIS_URL=redis://redis:6379/0
|
|
- REDIS_DB_INDEX=0 # Optional: specify Redis database index (0-15) for isolation from other containers
|
|
- DOCKER_HOST=tcp://docker-socket-proxy:2375
|
|
#- LOG_LEVEL=DEBUG # Uncomment for more verbose logging/debugging
|
|
depends_on:
|
|
docker-socket-proxy:
|
|
condition: service_started
|
|
dockflare-init:
|
|
condition: service_completed_successfully
|
|
redis:
|
|
condition: service_started
|
|
networks:
|
|
- cloudflare-net
|
|
- dockflare-internal
|
|
|
|
redis:
|
|
image: redis:7-alpine
|
|
container_name: dockflare-redis
|
|
restart: unless-stopped
|
|
command: ["redis-server", "--save", "", "--appendonly", "no"]
|
|
logging:
|
|
driver: "none" # less logs, remove for verbose / more logs
|
|
volumes:
|
|
- dockflare_redis:/data
|
|
networks:
|
|
- dockflare-internal
|
|
|
|
volumes:
|
|
dockflare_data:
|
|
dockflare_redis:
|
|
|
|
networks:
|
|
cloudflare-net:
|
|
name: cloudflare-net
|
|
external: true
|
|
dockflare-internal:
|
|
name: dockflare-internal
|