Files
sop-ultime/docker-compose.yml
2026-05-06 12:22:17 +02:00

67 lines
1.6 KiB
YAML

services:
minio:
image: minio/minio:latest
command: server /data --console-address ":9001"
environment:
MINIO_ROOT_USER: minioadmin
MINIO_ROOT_PASSWORD: minioadmin
ports:
- "9000:9000" # S3 API
- "9001:9001" # Web console
volumes:
- minio-data:/data
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:9000/minio/health/live"]
interval: 10s
timeout: 3s
retries: 5
# One-shot: create the bucket and make it public-read so <img src> works.
minio-init:
image: minio/mc:latest
depends_on:
minio:
condition: service_healthy
entrypoint: >
/bin/sh -c "
mc alias set local http://minio:9000 minioadmin minioadmin &&
mc mb -p local/sop || true &&
mc anonymous set download local/sop
"
backend:
build:
context: ./sop-back
environment:
PROJECT_NAME: "Smash or Pass"
ALLOWED_ORIGINS: '["http://localhost:8080","http://localhost:5173"]'
ADMIN_USERNAME: "admin"
ADMIN_PASSWORD: "change-me"
DATABASE_URL: "sqlite:///./data/sop.db"
S3_ENDPOINT_URL: "http://minio:9000"
S3_PUBLIC_URL: "http://localhost:9000"
S3_ACCESS_KEY: "minioadmin"
S3_SECRET_KEY: "minioadmin"
S3_BUCKET: "sop"
S3_REGION: "us-east-1"
ports:
- "8000:8000"
volumes:
- backend-data:/app/data
depends_on:
- minio-init
frontend:
build:
context: ./sop-front
args:
VITE_API_BASE_URL: "http://localhost:8000"
ports:
- "8080:80"
depends_on:
- backend
volumes:
minio-data:
backend-data: