bgipfs
Version:
BuidlGuidl IPFS CLI
48 lines (42 loc) • 2.09 kB
YAML
# DNS mode overrides
services:
ipfs:
ports:
- "4001:4001" # swarm
- "127.0.0.1:5001:5001" # api access from localhost
labels:
- "traefik.enable=true"
# IPFS Gateway Service
- "traefik.http.services.ipfs-gateway.loadbalancer.server.port=8080"
# Main gateway router
- "traefik.http.routers.main-gateway.rule=Host(`${GATEWAY_DOMAIN}`)"
- "traefik.http.routers.main-gateway.entrypoints=web"
- "traefik.http.routers.main-gateway.service=ipfs-gateway"
- "traefik.http.routers.main-gateway.middlewares=xfp-https@docker"
# Subdomain gateway router
- "traefik.http.routers.subdomain-gateway.rule=HostRegexp(`{subdomain:[^.]+}.ipfs.${GATEWAY_DOMAIN}`)"
- "traefik.http.routers.subdomain-gateway.entrypoints=web"
- "traefik.http.routers.subdomain-gateway.service=ipfs-gateway"
- "traefik.http.routers.subdomain-gateway.middlewares=xfp-https@docker"
# Middleware: force the header for anything that hits the gateway
- "traefik.http.middlewares.xfp-https.headers.customrequestheaders.X-Forwarded-Proto=https"
cluster:
labels:
- "traefik.enable=true"
- "traefik.http.services.upload-service.loadbalancer.server.port=9095"
- "traefik.http.routers.upload-router.rule=Host(`${UPLOAD_DOMAIN}`) && (Path(`/api/v0/add`) || Path(`/api/v0/cat`) || Path(`/api/v0/pin/ls`) || Path(`/api/v0/pin/add`))"
- "traefik.http.routers.upload-router.entrypoints=web"
- "traefik.http.routers.upload-router.middlewares=upload-auth@docker,connection-headers@docker"
- "traefik.http.routers.upload-router.service=upload-service"
- "traefik.http.middlewares.connection-headers.headers.customresponseheaders.Connection=close"
traefik:
ports:
- "80:80" # HTTP (for Cloudflare proxy)
command:
- "--api=true"
- "--api.dashboard=true"
- "--providers.docker=true"
- "--providers.docker.exposedbydefault=false"
- "--entrypoints.web.address=:80"
- "--log.level=DEBUG"
- "--accesslog=true"