feat: add multica/
This commit is contained in:
@@ -0,0 +1,109 @@
|
||||
x-defaults: &defaults
|
||||
restart: unless-stopped
|
||||
logging:
|
||||
driver: json-file
|
||||
options:
|
||||
max-size: ${MULTICA_LOG_MAX_SIZE:-100m}
|
||||
max-file: '${MULTICA_LOG_MAX_FILE:-3}'
|
||||
|
||||
services:
|
||||
multica-postgres:
|
||||
<<: *defaults
|
||||
image: ${GLOBAL_REGISTRY:-}pgvector/pgvector:${MULTICA_PGVECTOR_VERSION:-pg17}
|
||||
environment:
|
||||
- TZ=${TZ:-UTC}
|
||||
- POSTGRES_DB=${MULTICA_POSTGRES_DB:-multica}
|
||||
- POSTGRES_USER=${MULTICA_POSTGRES_USER:-multica}
|
||||
- POSTGRES_PASSWORD=${MULTICA_POSTGRES_PASSWORD:-multica}
|
||||
volumes:
|
||||
- multica_pgdata:/var/lib/postgresql/data
|
||||
healthcheck:
|
||||
test: [CMD-SHELL, pg_isready -U $$POSTGRES_USER -d $$POSTGRES_DB]
|
||||
interval: 10s
|
||||
timeout: 5s
|
||||
retries: 5
|
||||
start_period: 10s
|
||||
deploy:
|
||||
resources:
|
||||
limits:
|
||||
cpus: ${MULTICA_POSTGRES_CPU_LIMIT:-1.00}
|
||||
memory: ${MULTICA_POSTGRES_MEMORY_LIMIT:-1G}
|
||||
reservations:
|
||||
cpus: ${MULTICA_POSTGRES_CPU_RESERVATION:-0.25}
|
||||
memory: ${MULTICA_POSTGRES_MEMORY_RESERVATION:-256M}
|
||||
|
||||
multica-backend:
|
||||
<<: *defaults
|
||||
build:
|
||||
context: https://github.com/multica-ai/multica.git#${MULTICA_VERSION:-v0.1.32}
|
||||
dockerfile: Dockerfile
|
||||
depends_on:
|
||||
multica-postgres:
|
||||
condition: service_healthy
|
||||
ports:
|
||||
- '${MULTICA_BACKEND_PORT_OVERRIDE:-8080}:8080'
|
||||
environment:
|
||||
- TZ=${TZ:-UTC}
|
||||
- DATABASE_URL=postgres://${MULTICA_POSTGRES_USER:-multica}:${MULTICA_POSTGRES_PASSWORD:-multica}@multica-postgres:5432/${MULTICA_POSTGRES_DB:-multica}?sslmode=disable
|
||||
- PORT=8080
|
||||
- JWT_SECRET=${MULTICA_JWT_SECRET:-change-me-in-production}
|
||||
- FRONTEND_ORIGIN=${MULTICA_FRONTEND_ORIGIN:-http://localhost:3000}
|
||||
- CORS_ALLOWED_ORIGINS=${MULTICA_CORS_ALLOWED_ORIGINS:-}
|
||||
- MULTICA_APP_URL=${MULTICA_APP_URL:-http://localhost:3000}
|
||||
- RESEND_API_KEY=${MULTICA_RESEND_API_KEY:-}
|
||||
- RESEND_FROM_EMAIL=${MULTICA_RESEND_FROM_EMAIL:-noreply@multica.ai}
|
||||
- GOOGLE_CLIENT_ID=${MULTICA_GOOGLE_CLIENT_ID:-}
|
||||
- GOOGLE_CLIENT_SECRET=${MULTICA_GOOGLE_CLIENT_SECRET:-}
|
||||
- GOOGLE_REDIRECT_URI=${MULTICA_GOOGLE_REDIRECT_URI:-http://localhost:3000/auth/callback}
|
||||
- COOKIE_DOMAIN=${MULTICA_COOKIE_DOMAIN:-}
|
||||
healthcheck:
|
||||
test:
|
||||
- CMD-SHELL
|
||||
- wget --no-verbose --tries=1 --spider http://127.0.0.1:8080/ || exit 1
|
||||
interval: 30s
|
||||
timeout: 10s
|
||||
retries: 5
|
||||
start_period: 60s
|
||||
deploy:
|
||||
resources:
|
||||
limits:
|
||||
cpus: ${MULTICA_BACKEND_CPU_LIMIT:-2.00}
|
||||
memory: ${MULTICA_BACKEND_MEMORY_LIMIT:-2G}
|
||||
reservations:
|
||||
cpus: ${MULTICA_BACKEND_CPU_RESERVATION:-0.50}
|
||||
memory: ${MULTICA_BACKEND_MEMORY_RESERVATION:-512M}
|
||||
|
||||
multica-frontend:
|
||||
<<: *defaults
|
||||
build:
|
||||
context: https://github.com/multica-ai/multica.git#${MULTICA_VERSION:-v0.1.32}
|
||||
dockerfile: Dockerfile.web
|
||||
args:
|
||||
REMOTE_API_URL: http://multica-backend:8080
|
||||
NEXT_PUBLIC_GOOGLE_CLIENT_ID: ${MULTICA_GOOGLE_CLIENT_ID:-}
|
||||
depends_on:
|
||||
- multica-backend
|
||||
ports:
|
||||
- '${MULTICA_FRONTEND_PORT_OVERRIDE:-3000}:3000'
|
||||
environment:
|
||||
- TZ=${TZ:-UTC}
|
||||
- HOSTNAME=0.0.0.0
|
||||
healthcheck:
|
||||
test:
|
||||
- CMD-SHELL
|
||||
- wget --no-verbose --tries=1 --spider http://127.0.0.1:3000/ || exit 1
|
||||
interval: 30s
|
||||
timeout: 10s
|
||||
retries: 5
|
||||
start_period: 60s
|
||||
deploy:
|
||||
resources:
|
||||
limits:
|
||||
cpus: ${MULTICA_FRONTEND_CPU_LIMIT:-1.00}
|
||||
memory: ${MULTICA_FRONTEND_MEMORY_LIMIT:-1G}
|
||||
reservations:
|
||||
cpus: ${MULTICA_FRONTEND_CPU_RESERVATION:-0.25}
|
||||
memory: ${MULTICA_FRONTEND_MEMORY_RESERVATION:-256M}
|
||||
|
||||
volumes:
|
||||
multica_pgdata:
|
||||
Reference in New Issue
Block a user