infoalloggi-monorepo/apps/infoalloggi/dev2-docker-compose.yml

38 lines
1.4 KiB
YAML
Raw Normal View History

2026-05-14 09:48:01 +02:00
services:
seaweedfs:
image: chrislusf/seaweedfs:latest
2026-05-14 10:03:07 +02:00
ports:
- "9333:9333"
- "8333:8333" # S3 API endpoint for Next.js / Go backend apps
2026-05-14 09:48:01 +02:00
volumes:
- seaweedfs_data:/data
# Mount your credentials file directly into the container
- ./s3.json:/data/s3.json
# -s3.config points to our mounted credentials file
command: "server -dir=/data -s3 -s3.config=/data/s3.json"
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:9333/cluster/status"]
interval: 5s
timeout: 5s
retries: 5
labels:
- "traefik.enable=true"
# 1. Routing Rule: Listen for your Public IP (e.g., 123.45.67.89)
# If you don't have a static IP, you can use a catch-all rule: "PathPrefix(`/`)"
- "traefik.http.routers.filer.rule=Host(`fs.marcopedone.it`)"
- "traefik.http.routers.filer.entrypoints=websecure"
- "traefik.http.routers.filer.tls.certresolver=letsencrypt"
# 2. Assign the Service Port (SeaweedFS filer runs internally on 8888)
- "traefik.http.services.filer.loadbalancer.server.port=8888"
# 3. Attach the Auth Middleware to this Router
- "traefik.http.routers.filer.middlewares=filer-auth"
# 4. Define the Middleware (Paste your generated hashed string here)
- "traefik.http.middlewares.filer-auth.basicauth.users=admin:$$2a$$12$$2w9VLBATy0eHhU4IAIg8t.bz9/ZSzS9yf5uv4Hn1nUhp28ZY7An8y"
volumes:
seaweedfs_data: