56 lines
1.4 KiB
YAML
56 lines
1.4 KiB
YAML
# docker-compose.yml — local development / integration testing
|
|
#
|
|
# Usage:
|
|
# docker compose up --build
|
|
#
|
|
# The service reads config from the .env file (copy .env.example → .env first).
|
|
# Certs (for mTLS) are volume-mounted from ./certs/.
|
|
|
|
version: "3.9"
|
|
|
|
services:
|
|
mcp-privileged:
|
|
build:
|
|
context: .
|
|
dockerfile: Dockerfile
|
|
image: mcp-privileged:dev
|
|
container_name: mcp-privileged
|
|
ports:
|
|
- "8443:8443"
|
|
env_file:
|
|
- .env
|
|
volumes:
|
|
# Mount TLS certs if mTLS is configured
|
|
- ./certs:/app/certs:ro
|
|
restart: unless-stopped
|
|
# Override log format for local readability
|
|
environment:
|
|
LOG_FORMAT: console
|
|
LOG_LEVEL: DEBUG
|
|
|
|
# ── Optional: local test databases ─────────────────────────────────────────
|
|
postgres:
|
|
image: postgres:16-alpine
|
|
container_name: test-postgres
|
|
environment:
|
|
POSTGRES_USER: testuser
|
|
POSTGRES_PASSWORD: testpass
|
|
POSTGRES_DB: testdb
|
|
ports:
|
|
- "5432:5432"
|
|
profiles:
|
|
- db # only started with: docker compose --profile db up
|
|
|
|
mysql:
|
|
image: mysql:8-debian
|
|
container_name: test-mysql
|
|
environment:
|
|
MYSQL_ROOT_PASSWORD: rootpass
|
|
MYSQL_USER: testuser
|
|
MYSQL_PASSWORD: testpass
|
|
MYSQL_DATABASE: testdb
|
|
ports:
|
|
- "3306:3306"
|
|
profiles:
|
|
- db
|