53 lines
1.7 KiB
YAML
53 lines
1.7 KiB
YAML
# documentation: https://github.com/metatool-ai/metamcp
|
|
# slogan: MCP Aggregator, Orchestrator, Middleware, Gateway in one app
|
|
# tags: mcp, ai, sse
|
|
# category: mcp
|
|
# logo: svgs/metamcp.png
|
|
# port: 12008
|
|
|
|
services:
|
|
app:
|
|
container_name: metamcp
|
|
image: 'ghcr.io/metatool-ai/metamcp:latest'
|
|
ports:
|
|
- '12008:12008'
|
|
environment:
|
|
- SERVICE_URL_METAMCP_12008
|
|
- 'POSTGRES_HOST=${POSTGRES_HOST:?postgres}'
|
|
- 'POSTGRES_PORT=${POSTGRES_PORT:?5432}'
|
|
- 'POSTGRES_USER=${SERVICE_USER_DB}'
|
|
- 'POSTGRES_PASSWORD=${SERVICE_PASSWORD_DB}'
|
|
- 'POSTGRES_DB=${POSTGRES_DB:-metamcp_db}'
|
|
- 'DATABASE_URL=postgresql://${POSTGRES_USER}:${POSTGRES_PASSWORD}@${POSTGRES_HOST}:${POSTGRES_PORT}/${POSTGRES_DB}'
|
|
- APP_URL=$SERVICE_URL_METAMCP
|
|
- 'NEXT_PUBLIC_APP_URL=${APP_URL}'
|
|
- 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: 30s
|
|
timeout: 10s
|
|
postgres:
|
|
image: 'postgres:16-alpine'
|
|
container_name: metamcp-pg
|
|
environment:
|
|
- 'POSTGRES_DB=${POSTGRES_DB:-metamcp_db}'
|
|
- 'POSTGRES_USER=${POSTGRES_USER:-metamcp_user}'
|
|
- 'POSTGRES_PASSWORD=${POSTGRES_PASSWORD:-m3t4mcp}'
|
|
ports:
|
|
- '9433:5432'
|
|
volumes:
|
|
- 'postgres_data:/var/lib/postgresql/data'
|
|
healthcheck:
|
|
test:
|
|
- CMD-SHELL
|
|
- 'pg_isready -U ${POSTGRES_USER:-metamcp_user} -d ${POSTGRES_DB:-metamcp_db}'
|
|
interval: 10s
|
|
timeout: 5s
|