retrotoon-studio/docker-compose.yml
Ubuntu c1606ad4c9 feat: migration complète Manus -> auto-hébergé (MinIO + Gemini)
Infrastructure:
- MinIO déployé en local pour le stockage S3 (docker-compose)
- Storage proxy réécrit: sert les fichiers depuis MinIO en streaming
  (plus de 307 redirect vers CDN externe)
- Legacy /manus-storage/ redirige vers /storage/

LLM & Image Generation:
- LLM: Gemini uniquement (suppression du fallback Forge)
- Image generation: Gemini Imagen direct (suppression Forge GenerateImage)
- llmConfig simplifié, un seul provider

Nettoyage Manus:
- Modules Forge stubbés (dataApi, heartbeat, map, notification, voiceTranscription)
- ENV simplifié (suppression forgeApiUrl, forgeApiKey)
- Analytics Manus supprimées du HTML
- systemRouter simplifié

Migration données:
- 750 fichiers migrés de Forge S3 vers MinIO (69.8 MB)
- URLs DB mises à jour: /manus-storage/ -> /storage/
- Script de migration inclus (scripts/migrate-to-minio.mjs)

Performance:
- Frame load: 500ms -> 62ms (8x plus rapide)
- Plus aucune dépendance réseau transatlantique pour le stockage

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-05-21 04:27:48 +00:00

63 lines
1.4 KiB
YAML

services:
app:
container_name: retrotoon-studio-app
build:
context: .
dockerfile: Dockerfile
args:
VITE_APP_TITLE: ${VITE_APP_TITLE:-RetroToon Studio}
env_file:
- .env.docker
environment:
NODE_ENV: production
PORT: 3000
MINIO_ENDPOINT: minio
MINIO_PORT: 9000
MINIO_ACCESS_KEY: retrotoon
MINIO_SECRET_KEY: retrotoon-secret-key-2026
MINIO_BUCKET: retrotoon
MINIO_USE_SSL: "false"
MINIO_PUBLIC_URL: https://retrotoon.cosmolan.fr/s3
restart: unless-stopped
healthcheck:
test: ["CMD-SHELL", "wget -q --spider http://127.0.0.1:3000/ || exit 1"]
interval: 30s
timeout: 5s
retries: 5
start_period: 20s
ports:
- "127.0.0.1:5200:3000"
depends_on:
minio:
condition: service_healthy
networks:
- default
- npm_default
minio:
image: minio/minio:latest
container_name: retrotoon-minio
command: server /data --console-address ":9001"
environment:
MINIO_ROOT_USER: retrotoon
MINIO_ROOT_PASSWORD: retrotoon-secret-key-2026
volumes:
- minio-data:/data
healthcheck:
test: ["CMD", "mc", "ready", "local"]
interval: 10s
timeout: 5s
retries: 5
start_period: 10s
ports:
- "127.0.0.1:9100:9000"
- "127.0.0.1:9101:9001"
networks:
- default
volumes:
minio-data:
networks:
npm_default:
external: true