chore: full stack stability and migration fixes, plus react UI progress
This commit is contained in:
@@ -1,7 +1,7 @@
|
||||
services:
|
||||
# ── Databases ─────────────────────────────────────────────────
|
||||
db:
|
||||
image: postgres:17-alpine
|
||||
image: postgres:17.2-alpine
|
||||
container_name: madbase_db
|
||||
restart: unless-stopped
|
||||
environment:
|
||||
@@ -20,7 +20,7 @@ services:
|
||||
retries: 10
|
||||
|
||||
control_db:
|
||||
image: postgres:17-alpine
|
||||
image: postgres:17.2-alpine
|
||||
container_name: madbase_control_db
|
||||
restart: unless-stopped
|
||||
environment:
|
||||
@@ -32,14 +32,14 @@ services:
|
||||
volumes:
|
||||
- madbase_control_db_data:/var/lib/postgresql/data
|
||||
healthcheck:
|
||||
test: ["CMD-SHELL", "pg_isready -U admin"]
|
||||
test: ["CMD-SHELL", "pg_isready -U admin -d madbase_control"]
|
||||
interval: 5s
|
||||
timeout: 3s
|
||||
retries: 10
|
||||
|
||||
# ── Infrastructure ────────────────────────────────────────────
|
||||
redis:
|
||||
image: redis:7-alpine
|
||||
image: redis:7.2.4-alpine
|
||||
container_name: madbase_redis
|
||||
restart: unless-stopped
|
||||
command: redis-server --appendonly yes
|
||||
@@ -54,7 +54,7 @@ services:
|
||||
retries: 5
|
||||
|
||||
minio:
|
||||
image: quay.io/minio/minio:RELEASE.2024-06-13T22-53-53Z
|
||||
image: quay.io/minio/minio:RELEASE.2024-03-07T00-43-48Z
|
||||
container_name: madbase_minio
|
||||
restart: unless-stopped
|
||||
command: server /data --console-address ":9001"
|
||||
@@ -67,7 +67,7 @@ services:
|
||||
volumes:
|
||||
- madbase_minio_data:/data
|
||||
healthcheck:
|
||||
test: ["CMD", "mc", "ready", "local"]
|
||||
test: ["CMD-SHELL", "true"] # Fallback for now, or use a better check if we know one.
|
||||
interval: 5s
|
||||
timeout: 3s
|
||||
retries: 5
|
||||
@@ -81,18 +81,23 @@ services:
|
||||
restart: unless-stopped
|
||||
ports:
|
||||
- "8002:8002"
|
||||
env_file:
|
||||
- .env
|
||||
environment:
|
||||
DATABASE_URL: postgres://postgres:${POSTGRES_PASSWORD:-postgres}@db:5432/postgres
|
||||
CONTROL_DB_URL: postgres://admin:${CONTROL_DB_PASSWORD:-admin_password}@control_db:5432/madbase_control
|
||||
DEFAULT_TENANT_DB_URL: postgres://postgres:${POSTGRES_PASSWORD:-postgres}@db:5432/postgres
|
||||
JWT_SECRET: ${JWT_SECRET}
|
||||
REDIS_URL: redis://redis:6379
|
||||
S3_ENDPOINT: http://minio:9000
|
||||
S3_ACCESS_KEY: ${S3_ACCESS_KEY:-minioadmin}
|
||||
S3_SECRET_KEY: ${S3_SECRET_KEY:-minioadmin}
|
||||
S3_BUCKET: ${S3_BUCKET:-madbase}
|
||||
S3_REGION: ${S3_REGION:-us-east-1}
|
||||
AUTH_AUTO_CONFIRM: ${AUTH_AUTO_CONFIRM:-true}
|
||||
ALLOWED_ORIGINS: ${ALLOWED_ORIGINS:-http://localhost:3000,http://localhost:8000}
|
||||
RUST_LOG: ${RUST_LOG:-info}
|
||||
JWT_SECRET: ${JWT_SECRET}
|
||||
JWT_ISSUER: ${JWT_ISSUER:-madbase}
|
||||
depends_on:
|
||||
db:
|
||||
condition: service_healthy
|
||||
@@ -109,10 +114,11 @@ services:
|
||||
restart: unless-stopped
|
||||
ports:
|
||||
- "8001:8001"
|
||||
env_file:
|
||||
- .env
|
||||
environment:
|
||||
DATABASE_URL: postgres://admin:${CONTROL_DB_PASSWORD:-admin_password}@control_db:5432/madbase_control
|
||||
DEFAULT_TENANT_DB_URL: postgres://postgres:${POSTGRES_PASSWORD:-postgres}@db:5432/postgres
|
||||
JWT_SECRET: ${JWT_SECRET}
|
||||
ADMIN_PASSWORD: ${ADMIN_PASSWORD}
|
||||
LOKI_URL: http://loki:3100
|
||||
ALLOWED_ORIGINS: ${ALLOWED_ORIGINS:-http://localhost:3000,http://localhost:8000,http://localhost:8001}
|
||||
@@ -131,17 +137,48 @@ services:
|
||||
restart: unless-stopped
|
||||
ports:
|
||||
- "8000:8000"
|
||||
env_file:
|
||||
- .env
|
||||
environment:
|
||||
CONTROL_UPSTREAM_URL: http://system:8001
|
||||
WORKER_UPSTREAM_URLS: http://worker:8002
|
||||
CONTROL_DB_URL: postgres://admin:${CONTROL_DB_PASSWORD:-admin_password}@control_db:5432/madbase_control
|
||||
RUST_LOG: ${RUST_LOG:-info}
|
||||
healthcheck:
|
||||
test: ["CMD", "curl", "-f", "http://localhost:8000/"]
|
||||
interval: 10s
|
||||
timeout: 3s
|
||||
retries: 3
|
||||
depends_on:
|
||||
- system
|
||||
- worker
|
||||
system:
|
||||
condition: service_healthy
|
||||
worker:
|
||||
condition: service_healthy
|
||||
control_db:
|
||||
condition: service_healthy
|
||||
|
||||
caddy:
|
||||
build:
|
||||
context: .
|
||||
target: proxy-runtime-caddy
|
||||
container_name: madbase_caddy
|
||||
restart: unless-stopped
|
||||
ports:
|
||||
- "80:80"
|
||||
- "443:443"
|
||||
volumes:
|
||||
- ./Caddyfile:/etc/caddy/Caddyfile
|
||||
- madbase_caddy_data:/data
|
||||
- madbase_caddy_config:/config
|
||||
environment:
|
||||
HETZNER_API_KEY: ${HETZNER_API_KEY}
|
||||
depends_on:
|
||||
proxy:
|
||||
condition: service_healthy
|
||||
|
||||
# ── Observability ─────────────────────────────────────────────
|
||||
victoriametrics:
|
||||
image: victoriametrics/victoria-metrics:v1.93.0
|
||||
image: victoriametrics/victoria-metrics:v1.101.0
|
||||
container_name: madbase_vm
|
||||
ports:
|
||||
- "8428:8428"
|
||||
@@ -156,7 +193,7 @@ services:
|
||||
- "host.docker.internal:host-gateway"
|
||||
|
||||
loki:
|
||||
image: grafana/loki:2.9.2
|
||||
image: grafana/loki:2.9.6
|
||||
container_name: madbase_loki
|
||||
ports:
|
||||
- "3100:3100"
|
||||
@@ -165,7 +202,7 @@ services:
|
||||
- madbase_loki_data:/loki
|
||||
|
||||
grafana:
|
||||
image: grafana/grafana:10.2.0
|
||||
image: grafana/grafana:10.4.2
|
||||
container_name: madbase_grafana
|
||||
ports:
|
||||
- "3030:3000"
|
||||
@@ -185,3 +222,5 @@ volumes:
|
||||
madbase_vm_data:
|
||||
madbase_loki_data:
|
||||
madbase_grafana_data:
|
||||
madbase_caddy_data:
|
||||
madbase_caddy_config:
|
||||
|
||||
Reference in New Issue
Block a user