services: openmind: build: context: . dockerfile: Dockerfile image: openmind:latest container_name: openmind restart: unless-stopped env_file: - .env environment: # Le conteneur ecoute toujours sur 8080 ; APP_PORT ne change que l'hote. APP_NAME: ${APP_NAME:-OpenMind} DATABASE_URL: ${DATABASE_URL:-sqlite:////app/data/openmind.db} MAX_MAP_SIZE_MB: ${MAX_MAP_SIZE_MB:-10} MAX_NODES: ${MAX_NODES:-5000} CORS_ORIGINS: ${CORS_ORIGINS:-} LOG_LEVEL: ${LOG_LEVEL:-INFO} STATIC_DIR: /app/static ports: - "${APP_PORT:-8080}:8080" volumes: # Bind mount explicite : les partages SQLite restent accessibles sur l'hote. - ./data:/app/data healthcheck: test: ["CMD", "curl", "-fsS", "http://127.0.0.1:8080/api/health"] interval: 30s timeout: 5s start_period: 10s retries: 3