opencode/docker-compose.yml aktualisiert
This commit is contained in:
1 parent
3a19407fc6
commit
bc73f6812e
1 file changed
+54
-30
+54
-30
@@ -1,36 +1,60 @@
|
||||
services:
|
||||
opencode-web:
|
||||
image: ghcr.io/anomalyco/opencode:latest
|
||||
container_name: opencode_web_gui
|
||||
# Startet OpenCode direkt im Web-Server-Modus auf allen Schnittstellen (0.0.0.0)
|
||||
command: opencode web --port 4096 --hostname 0.0.0.0
|
||||
# --- 1. DATENBANK (PostgreSQL) ---
|
||||
db:
|
||||
image: postgres:16-alpine
|
||||
container_name: ${STACK_NAME:-opencode_test}_db
|
||||
restart: always
|
||||
environment:
|
||||
- TZ=${TIMEZONE}
|
||||
# Absicherung der Web-Oberfläche für den Netzwerkzugriff
|
||||
- OPENCODE_SERVER_USERNAME=${WEB_USER}
|
||||
- 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}
|
||||
POSTGRES_USER: ${DB_USER:-opencode_user}
|
||||
POSTGRES_PASSWORD: ${DB_PASSWORD:-test_password_123_secure}
|
||||
POSTGRES_DB: ${DB_NAME:-opencode_db}
|
||||
volumes:
|
||||
# Persistente Speicherung der OpenCode-Konfiguration & Sessions
|
||||
- opencode_config:/root/.config/opencode
|
||||
- opencode_share:/root/.local/share/opencode
|
||||
# Der Projektordner vom Docker-Host, den der Agent bearbeiten soll
|
||||
- ${HOST_PROJECT_PATH}:/workspace
|
||||
working_dir: /workspace
|
||||
ports:
|
||||
- "${WEB_PORT}:4096"
|
||||
# Wenn HOST_DB_VOLUME_PATH leer ist, greift das lokale Named Volume
|
||||
- ${HOST_DB_VOLUME_PATH:-db_data}:/var/lib/postgresql/data
|
||||
networks:
|
||||
- backend_network
|
||||
healthcheck:
|
||||
test: ["CMD-SHELL", "pg_isready -U ${DB_USER:-opencode_user} -d ${DB_NAME:-opencode_db}"]
|
||||
interval: 10s
|
||||
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:
|
||||
opencode_config:
|
||||
driver: local
|
||||
opencode_share:
|
||||
driver: local
|
||||
# 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:
|
||||
db_data:
|
||||
workspace_data:
|
||||
|
||||
networks:
|
||||
backend_network:
|
||||
driver: bridge
|
||||
Reference in new issue
Block a user