services: backend: build: . ports: - "9898:9898" env_file: .env environment: DATABASE_URL: sqlite:/app/data/raisfast.db?mode=rwc APP_ENV: production CORS_ORIGINS: http://localhost:3000 STORAGE_DRIVER: s3 S3_ENDPOINT: http://rustfs:9000 S3_ACCESS_KEY: rustfsadmin S3_SECRET_KEY: rustfsadmin S3_BUCKET: raisfast S3_REGION: us-east-1 volumes: - raisfast-data:/app/data - raisfast-logs:/app/logs - raisfast-plugins:/app/plugins-data depends_on: rustfs: condition: service_healthy healthcheck: test: ["CMD", "curl", "-f", "http://localhost:9898/api/v1/healthz"] interval: 15s timeout: 5s retries: 5 start_period: 10s restart: unless-stopped frontend: build: ./web ports: - "3000:3000" environment: NEXT_PUBLIC_API_URL: http://localhost:9898/api/v1 depends_on: backend: condition: service_healthy restart: unless-stopped rustfs: image: rustfs/rustfs:latest ports: - "9001:9000" - "9002:9001" environment: RUSTFS_ROOT_USER: rustfsadmin RUSTFS_ROOT_PASSWORD: rustfsadmin volumes: - rustfs-data:/data - rustfs-logs:/logs command: server /data --console-address ":9001" healthcheck: test: ["CMD", "curl", "-f", "http://localhost:9000/minio/health/live"] interval: 10s timeout: 5s retries: 5 start_period: 5s restart: unless-stopped volumes: raisfast-data: raisfast-logs: raisfast-plugins: rustfs-data: rustfs-logs: