Files
appstore/apps/opencode-workstation/latest/docker-compose.yml
T

85 lines
3.0 KiB
YAML

services:
opencode-workstation:
image: "ghcr.io/okxlin/opencode-workstation:latest"
container_name: ${CONTAINER_NAME}
labels:
createdBy: "Apps"
user: "0:0"
restart: unless-stopped
tty: true
stdin_open: true
ports:
- "${PANEL_APP_PORT_HTTP}:4096"
- "${PANEL_APP_PORT_ACP}:8765"
environment:
- TZ=${TZ}
- OPENCODE_RUNTIME_MODE=${OPENCODE_RUNTIME_MODE}
- ACP_HOST=0.0.0.0
- ACP_PORT=8765
- SERVE_HOST=0.0.0.0
- SERVE_PORT=4096
- OPENCODE_BOOTSTRAP=${OPENCODE_BOOTSTRAP}
- OMO_AUTO_INSTALL=${OMO_AUTO_INSTALL}
- DCP_INSTALL=${DCP_INSTALL}
- OMO_CLAUDE_MODE=${OMO_CLAUDE_MODE}
- OMO_GEMINI_MODE=${OMO_GEMINI_MODE}
- OMO_COPILOT_MODE=${OMO_COPILOT_MODE}
- OMO_INSTALL_ARGS=${OMO_INSTALL_ARGS}
- OPENCODE_NPM_PACKAGE=${OPENCODE_NPM_PACKAGE}
- OMO_PACKAGE=${OMO_PACKAGE}
- OPENCODE_INSTALL_DIR=/home/opencode/.local/share/opencode
- XDG_DATA_HOME=/home/opencode/.local/share
- OPENCODE_NPM_BIN_DIR=/home/opencode/.local/bin
- OPENCODE_CONFIG_DIR=/home/opencode/.config/opencode
- OMO_INSTALL_DIR=/home/opencode/.local/share/oh-my-opencode
- OPENAI_API_KEY=${OPENAI_API_KEY}
- OPENAI_BASE_URL=${OPENAI_BASE_URL}
- OPENCODE_MODEL=${OPENCODE_MODEL}
- OPENCODE_SMALL_MODEL=${OPENCODE_SMALL_MODEL}
- OPENCODE_PROVIDER_ID=${OPENCODE_PROVIDER_ID}
- OPENCODE_EXTRA_PLUGINS=${OPENCODE_EXTRA_PLUGINS}
- OPENCODE_SERVER_USERNAME=${OPENCODE_SERVER_USERNAME}
- OPENCODE_SERVER_PASSWORD=${OPENCODE_SERVER_PASSWORD}
- ANTHROPIC_API_KEY=${ANTHROPIC_API_KEY}
- ANTHROPIC_BASE_URL=${ANTHROPIC_BASE_URL}
- OPENROUTER_API_KEY=${OPENROUTER_API_KEY}
- OPENROUTER_BASE_URL=${OPENROUTER_BASE_URL}
- GEMINI_API_KEY=${GEMINI_API_KEY}
- GEMINI_BASE_URL=${GEMINI_BASE_URL}
- GITHUB_TOKEN=${GITHUB_TOKEN}
- GIT_AUTHOR_NAME=${GIT_AUTHOR_NAME}
- GIT_AUTHOR_EMAIL=${GIT_AUTHOR_EMAIL}
- GIT_COMMITTER_NAME=${GIT_COMMITTER_NAME}
- GIT_COMMITTER_EMAIL=${GIT_COMMITTER_EMAIL}
env_file:
- path: ${CUSTOM_ENV_FILE:-./data/custom.env}
required: false
volumes:
- ${APP_DATA_DIR_1}:/workspace
- ${APP_DATA_DIR_2}:/home/opencode/.config
- ${APP_DATA_DIR_3}:/home/opencode/.local/share
- ${APP_DATA_DIR_4}:/home/opencode/.agents
- ${APP_DATA_DIR_5}:/home/opencode/.claude
- ${APP_DATA_DIR_6}:/home/opencode/.opencode
- ${DOCKER_SOCK_SRC}:/var/run/docker.sock
healthcheck:
test:
- CMD-SHELL
- >-
if [ "$OPENCODE_RUNTIME_MODE" = "serve" ]; then
ps -ef | grep -v grep | grep "opencode serve" >/dev/null;
else
ps -ef | grep -v grep | grep "opencode acp" >/dev/null;
fi
interval: 30s
timeout: 10s
retries: 5
start_period: 30s
command: ["runtime"]
networks:
- 1panel-network
networks:
1panel-network:
external: true