opencode/docker-compose.yml aktualisiert

This commit is contained in:
thomas committed 2026-09-30 17:59:32 +00:00
1 parent 3a19407fc6
commit bc73f6812e
1 file changed
+54 -30
+54 -30
View File
@@ -1,36 +1,60 @@
services: services:
opencode-web: # --- 1. DATENBANK (PostgreSQL) ---
image: ghcr.io/anomalyco/opencode:latest db:
container_name: opencode_web_gui image: postgres:16-alpine
# Startet OpenCode direkt im Web-Server-Modus auf allen Schnittstellen (0.0.0.0) container_name: ${STACK_NAME:-opencode_test}_db
command: opencode web --port 4096 --hostname 0.0.0.0
restart: always restart: always
environment: environment:
- TZ=${TIMEZONE} POSTGRES_USER: ${DB_USER:-opencode_user}
# Absicherung der Web-Oberfläche für den Netzwerkzugriff POSTGRES_PASSWORD: ${DB_PASSWORD:-test_password_123_secure}
- OPENCODE_SERVER_USERNAME=${WEB_USER} POSTGRES_DB: ${DB_NAME:-opencode_db}
- OPENCODE_SERVER_PASSWORD=${WEB_PASSWORD}
# API-Keys für Ihre LLM-Provider
- OPENAI_API_KEY=${OPENAI_API_KEY}
- ANTHROPIC_API_KEY=${ANTHROPIC_API_KEY}
- DEEPSEEK_API_KEY=${DEEPSEEK_API_KEY}
# Git-Konfiguration für die Commits des Agenten
- GIT_AUTHOR_NAME=${GIT_NAME}
- GIT_AUTHOR_EMAIL=${GIT_EMAIL}
- GIT_COMMITTER_NAME=${GIT_NAME}
- GIT_COMMITTER_EMAIL=${GIT_EMAIL}
volumes: volumes:
# Persistente Speicherung der OpenCode-Konfiguration & Sessions # Wenn HOST_DB_VOLUME_PATH leer ist, greift das lokale Named Volume
- opencode_config:/root/.config/opencode - ${HOST_DB_VOLUME_PATH:-db_data}:/var/lib/postgresql/data
- opencode_share:/root/.local/share/opencode networks:
# Der Projektordner vom Docker-Host, den der Agent bearbeiten soll - backend_network
- ${HOST_PROJECT_PATH}:/workspace healthcheck:
working_dir: /workspace test: ["CMD-SHELL", "pg_isready -U ${DB_USER:-opencode_user} -d ${DB_NAME:-opencode_db}"]
ports: interval: 10s
- "${WEB_PORT}:4096" timeout: 5s
retries: 5
# --- 2. OPENCODE AI AGENT (ghcr.io) ---
app:
image: ghcr.io/anomalyco/opencode:${APP_IMAGE_TAG:-latest}
container_name: ${STACK_NAME:-opencode_test}_agent
restart: always
# WICHTIG für Terminal-Apps (TUI) im Container:
stdin_open: true
tty: true
environment:
# AI Provider API Keys (Werden über Portainer injiziert)
- OPENAI_API_KEY=${OPENAI_KEY:-}
- ANTHROPIC_API_KEY=${ANTHROPIC_KEY:-}
- OPENCODE_API_KEY=${OPENCODE_ZEN_KEY:-} # Falls OpenCode Zen genutzt wird
# Datenbank-Verbindung für den Agenten
- DB_HOST=db
- DB_USER=${DB_USER:-opencode_user}
- DB_PASSWORD=${DB_PASSWORD:-test_password_123_secure}
- DB_NAME=${DB_NAME:-opencode_db}
volumes:
# Ihr Code-Verzeichnis (Workspace), das der Agent analysieren soll
- ${HOST_WORKSPACE_PATH:-workspace_data}:/workspace
working_dir: /workspace
networks:
- backend_network
depends_on:
db:
condition: service_healthy
# Die Named Volumes als automatischer Fallback für die Test-Umgebung
volumes: volumes:
opencode_config: db_data:
driver: local workspace_data:
opencode_share:
driver: local networks:
backend_network:
driver: bridge