Repository navigation
Expand file tree
/
Copy pathdocker-compose.coolify.yml
More file actions
56 lines (56 loc) · 2.5 KB
/
Copy pathdocker-compose.coolify.yml
File metadata and controls
56 lines (56 loc) · 2.5 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
services:
# ── Backend FastAPI Service ───────────────────────────────────────────────
backend:
build:
context: ./backend
dockerfile: Dockerfile
container_name: mlblock-backend
restart: unless-stopped
environment:
# Database — Supabase PostgreSQL (transaction mode pooler, port 6543)
- DATABASE_URL=${DATABASE_URL:?DATABASE_URL is required}
# Supabase Authentication and Project Credentials
- SUPABASE_URL=${SUPABASE_URL:?SUPABASE_URL is required}
- SUPABASE_PUBLISHABLE_KEY=${SUPABASE_PUBLISHABLE_KEY:?SUPABASE_PUBLISHABLE_KEY is required}
- SUPABASE_SECRET_KEY=${SUPABASE_SECRET_KEY:?SUPABASE_SECRET_KEY is required}
- SUPABASE_JWKS_URL=${SUPABASE_JWKS_URL:?SUPABASE_JWKS_URL is required}
- SUPABASE_JWT_SECRET=${SUPABASE_JWT_SECRET:?SUPABASE_JWT_SECRET is required}
# GPU execution via Vast.ai REST API
- VAST_API_KEY=${VAST_API_KEY:?VAST_API_KEY is required}
- MLBLOCK_RUN_MODE=${MLBLOCK_RUN_MODE:-gpu}
# CORS and Callback endpoints
- CORS_ORIGINS=${CORS_ORIGINS:-http://frontend.141.253.110.210.sslip.io,https://frontend.141.253.110.210.sslip.io}
- BACKEND_URL=${BACKEND_URL:-http://backend.141.253.110.210.sslip.io}
- GPU_API_KEY=${GPU_API_KEY:-your-shared-gpu-api-key-for-callbacks}
- PORT=8000
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:8000/healthz"]
interval: 15s
timeout: 5s
retries: 3
start_period: 10s
expose:
- "8000"
# ── Frontend React Service (Node & pnpm) ──────────────────────────────────
frontend:
build:
context: ./frontend
dockerfile: Dockerfile
args:
- VITE_API_BASE_URL=${VITE_API_BASE_URL:-http://backend.141.253.110.210.sslip.io}
- VITE_SUPABASE_URL=${VITE_SUPABASE_URL:-https://hrvbsbkcbtgephuntgqd.supabase.co}
- VITE_SUPABASE_PUBLISHABLE_KEY=${VITE_SUPABASE_PUBLISHABLE_KEY:-sb_publishable_sR5TVVYw_9RyWoCL6wViZQ_kGGjnkky}
- SITE_URL=${SITE_URL:-http://frontend.141.253.110.210.sslip.io}
container_name: mlblock-frontend
restart: unless-stopped
depends_on:
backend:
condition: service_healthy
healthcheck:
test: ["CMD", "wget", "-q", "--spider", "http://127.0.0.1:80/"]
interval: 15s
timeout: 5s
retries: 3
start_period: 5s
expose:
- "80"