coolify/templates/compose/metamcp.yaml

50 lines
1.6 KiB
YAML

# documentation: https://github.com/metatool-ai/metamcp
# slogan: MCP Aggregator, Orchestrator, Middleware, Gateway in one app
# tags: mcp, ai, sse, aggregator, orchestrator, middleware
# category: mcp
# logo: svgs/metamcp.png
# port: 12008
services:
app:
image: ghcr.io/metatool-ai/metamcp:2.4
environment:
- SERVICE_URL_METAMCP_12008
- POSTGRES_HOST=${POSTGRES_HOST:-postgres}
- POSTGRES_PORT=${POSTGRES_PORT:-5432}
- POSTGRES_USER=${SERVICE_USER_POSTGRES}
- POSTGRES_PASSWORD=${SERVICE_PASSWORD_POSTGRES}
- POSTGRES_DB=${POSTGRES_DB:-metamcp_db}
- DATABASE_URL=postgresql://${SERVICE_USER_POSTGRES}:${SERVICE_PASSWORD_POSTGRES}@${POSTGRES_HOST:-postgres}:${POSTGRES_PORT:-5432}/${POSTGRES_DB:-metamcp_db}
- APP_URL=${SERVICE_URL_METAMCP}
- NEXT_PUBLIC_APP_URL=${SERVICE_URL_METAMCP}
- BETTER_AUTH_SECRET=${SERVICE_PASSWORD_AUTH}
- TRANSFORM_LOCALHOST_TO_DOCKER_INTERNAL=${TRANSFORM_LOCALHOST_TO_DOCKER_INTERNAL:-true}
depends_on:
postgres:
condition: service_healthy
healthcheck:
test:
- CMD
- curl
- '-f'
- 'http://localhost:12008/health'
interval: 10s
timeout: 5s
retries: 5
postgres:
image: postgres:16-alpine
environment:
- POSTGRES_DB=${POSTGRES_DB:-metamcp_db}
- POSTGRES_USER=${SERVICE_USER_POSTGRES}
- POSTGRES_PASSWORD=${SERVICE_PASSWORD_POSTGRES}
volumes:
- postgres_data:/var/lib/postgresql/data
healthcheck:
test:
- CMD-SHELL
- 'pg_isready -U ${SERVICE_USER_POSTGRES} -d ${POSTGRES_DB:-metamcp_db}'
interval: 10s
timeout: 5s
retries: 5