chore: compose polish for Coolify + complete .env.example

This commit is contained in:
Leopold
2026-07-05 23:58:26 +02:00
parent 8aa2e6792b
commit 4847d3eb05
3 changed files with 37 additions and 18 deletions
+15 -10
View File
@@ -1,22 +1,27 @@
# LLM Configuration # --- Server ---
HOST=0.0.0.0
PORT=8000
LOG_LEVEL=info
# --- LLM (LiteLLM provider/model) ---
LLM_PROVIDER=openrouter LLM_PROVIDER=openrouter
LLM_API_KEY=sk-or-v1-xxx LLM_API_KEY=sk-or-v1-PLACEHOLDER-replace-before-deploy
LLM_MODEL=anthropic/claude-3.5-sonnet LLM_MODEL=anthropic/claude-3.5-sonnet
LLM_API_BASE= LLM_API_BASE=
# MCP Tool Server — URL MUST include the /mcp path (FastMCP HTTP transport). # --- MCP Tool Server ---
# Example: http://mcp-tools:8501/mcp (the docker-compose default already includes /mcp) # URL MUST include the /mcp path (FastMCP HTTP transport).
MCP_SERVER_URL=http://mcp-tools:8501/mcp MCP_SERVER_URL=http://mcp-tools:8501/mcp
MCP_TIMEOUT=10
# Auth (CHANGE THIS — must be >=32 chars, must NOT be the default below) # --- Auth (B1 Boot Guard: must be >=32 chars, NOT 'change-me-in-production') ---
# Generate one with: python -c "import secrets;print(secrets.token_urlsafe(32))" # Generate one with: python -c "import secrets;print(secrets.token_urlsafe(32))"
AUTH_TOKEN=change-me-to-something-secure AUTH_TOKEN=change-me-in-production
# Logging # --- Storage ---
LOG_LEVEL=info DB_PATH=/data/agent-platform.db
# Limits # --- Limits ---
MAX_HISTORY_MESSAGES=10 MAX_HISTORY_MESSAGES=10
MAX_PARALLEL_AGENTS=5 MAX_PARALLEL_AGENTS=5
AGENT_IDLE_TIMEOUT_SEC=300 AGENT_IDLE_TIMEOUT_SEC=300
MCP_TIMEOUT=10
+10
View File
@@ -91,3 +91,13 @@ python server.py
- agent-platform: 256 MB RAM, 0.5 CPU - agent-platform: 256 MB RAM, 0.5 CPU
- mcp-tools: 128 MB RAM, 0.25 CPU - mcp-tools: 128 MB RAM, 0.25 CPU
- SQLite: 5-10 MB - SQLite: 5-10 MB
## Deploy (Coolify)
1. In Coolify: **Projects → New Project** → name it (e.g. `agent-platform`).
2. Inside the project: **Resources → New → Docker Compose**.
3. **Repository URL**: `https://forgejo.media-on.de/Leopoldadmin/agent-platform.git`, **Branch**: `main`.
4. **Domain**: bind a hostname to the `agent-platform` service (Traefik routes via the `expose: 8000` label).
5. **Environment Variables**: set `AUTH_TOKEN` (≥32 chars, NOT `change-me-in-production`) and `LLM_API_KEY`; other vars can keep their `.env.example` defaults.
6. Click **Deploy** — Coolify builds the two images, creates the `agent-data` volume, and brings up the stack.
7. **Health check**: `curl https://<your-domain>/health` returns `{"status":"ok"}` once `mcp-tools` is healthy and `agent-platform` is up.
+12 -8
View File
@@ -1,20 +1,23 @@
version: "3.9"
services: services:
agent-platform: agent-platform:
build: ./agent_platform build: ./agent_platform
container_name: agent-platform expose:
ports: - "8000"
- "8000:8000"
environment: environment:
- HOST=${HOST:-0.0.0.0}
- PORT=${PORT:-8000}
- LLM_PROVIDER=${LLM_PROVIDER:-openrouter} - LLM_PROVIDER=${LLM_PROVIDER:-openrouter}
- LLM_API_KEY=${LLM_API_KEY} - LLM_API_KEY=${LLM_API_KEY}
- LLM_MODEL=${LLM_MODEL:-anthropic/claude-3.5-sonnet} - LLM_MODEL=${LLM_MODEL:-anthropic/claude-3.5-sonnet}
- LLM_API_BASE=${LLM_API_BASE:-} - LLM_API_BASE=${LLM_API_BASE:-}
- MCP_SERVER_URL=http://mcp-tools:8501/mcp - MCP_SERVER_URL=${MCP_SERVER_URL:-http://mcp-tools:8501/mcp}
- MCP_TIMEOUT=${MCP_TIMEOUT:-10}
- AUTH_TOKEN=${AUTH_TOKEN} - AUTH_TOKEN=${AUTH_TOKEN}
- DB_PATH=/data/agent-platform.db - DB_PATH=${DB_PATH:-/data/agent-platform.db}
- LOG_LEVEL=${LOG_LEVEL:-info} - LOG_LEVEL=${LOG_LEVEL:-info}
- MAX_HISTORY_MESSAGES=${MAX_HISTORY_MESSAGES:-10}
- MAX_PARALLEL_AGENTS=${MAX_PARALLEL_AGENTS:-5}
- AGENT_IDLE_TIMEOUT_SEC=${AGENT_IDLE_TIMEOUT_SEC:-300}
volumes: volumes:
- agent-data:/data - agent-data:/data
depends_on: depends_on:
@@ -29,6 +32,7 @@ services:
restart: unless-stopped restart: unless-stopped
networks: networks:
- agent-net - agent-net
# Informational only in docker compose standalone; apply via Coolify per-container limits UI
deploy: deploy:
resources: resources:
limits: limits:
@@ -37,7 +41,6 @@ services:
mcp-tools: mcp-tools:
build: ./mcp_tools build: ./mcp_tools
container_name: mcp-tools
expose: expose:
- "8501" - "8501"
environment: environment:
@@ -52,6 +55,7 @@ services:
restart: unless-stopped restart: unless-stopped
networks: networks:
- agent-net - agent-net
# Informational only in docker compose standalone; apply via Coolify per-container limits UI
deploy: deploy:
resources: resources:
limits: limits: