This commit is contained in:
2026-05-05 16:52:40 +02:00
commit bdb523d4b8
58 changed files with 8880 additions and 0 deletions

65
docker-compose.yml Normal file
View File

@@ -0,0 +1,65 @@
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_ENABLED: "true"
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: