更新 opencode/docker-compose.yaml

This commit is contained in:
wol
2026-07-03 17:59:26 +08:00
parent af4b1631ab
commit 088eddd8a1
+159 -20
View File
@@ -1,68 +1,207 @@
version: "3.9"
services:
opencode:
image: opencode:latest
build:
context: .
dockerfile: Dockerfile
container_name: opencode
hostname: opencode
restart: unless-stopped
init: true
tty: true
stdin_open: true
working_dir: /workspace
ports:
# OpenCode Web
- "3004:3004"
# AI运行项目端口
- "3005:3005"
environment:
TZ: Asia/Shanghai
PORT: 3004
##########################################
# OpenCode
##########################################
PORT: "3004"
##########################################
# Java
##########################################
JAVA_HOME: /usr/lib/jvm/java-21-openjdk-amd64
##########################################
# Android
##########################################
ANDROID_HOME: /opt/android-sdk
ANDROID_SDK_ROOT: /opt/android-sdk
GRADLE_USER_HOME: /root/.gradle
##########################################
# Maven
##########################################
MAVEN_CONFIG: /root/.m2
##########################################
# Gradle
##########################################
GRADLE_USER_HOME: /root/.gradle
##########################################
# Go
##########################################
GOPATH: /root/go
##########################################
# Rust
##########################################
CARGO_HOME: /root/.cargo
##########################################
# Python
##########################################
PYTHONUNBUFFERED: "1"
##########################################
# Node
##########################################
NODE_ENV: production
volumes:
#########################################################
# Workspace
#########################################################
- /home/wol/docker-data/jupyter/data/opencode:/workspace
#########################################################
# Android SDK
#########################################################
- /home/wol/docker-data/opencode/android-sdk:/opt/android-sdk
- /home/wol/docker-data/opencode/gradle:/root/.gradle
- /home/wol/docker-data/opencode/m2:/root/.m2
- /home/wol/docker-data/opencode/npm:/root/.npm
- /home/wol/docker-data/opencode/pnpm:/root/.local/share/pnpm
- /home/wol/docker-data/opencode/pip:/root/.cache/pip
- /home/wol/docker-data/opencode/go:/root/go
- /home/wol/docker-data/opencode/cargo:/root/.cargo
- /home/wol/docker-data/opencode/opencode:/root/.config/opencode
#########################################################
# Android License
#########################################################
- /home/wol/docker-data/opencode/android-home:/root/.android
#########################################################
# Maven
#########################################################
- /home/wol/docker-data/opencode/m2:/root/.m2
#########################################################
# Gradle
#########################################################
- /home/wol/docker-data/opencode/gradle:/root/.gradle
#########################################################
# npm
#########################################################
- /home/wol/docker-data/opencode/npm:/root/.npm
#########################################################
# pnpm
#########################################################
- /home/wol/docker-data/opencode/pnpm:/root/.local/share/pnpm
#########################################################
# pip
#########################################################
- /home/wol/docker-data/opencode/pip:/root/.cache/pip
#########################################################
# Cargo
#########################################################
- /home/wol/docker-data/opencode/cargo:/root/.cargo
#########################################################
# Go
#########################################################
- /home/wol/docker-data/opencode/go:/root/go
#########################################################
# OpenCode
#########################################################
- /home/wol/docker-data/opencode/opencode:/root/.config/opencode
#########################################################
# Docker Socket
#########################################################
# - /var/run/docker.sock:/var/run/docker.sock
command: /usr/local/bin/start.sh
#########################################################
# 宿主机时间
#########################################################
- /etc/localtime:/etc/localtime:ro
healthcheck:
test:
[
"CMD-SHELL",
"curl -fs http://127.0.0.1:3004/ >/dev/null || exit 1"
]
interval: 30s
timeout: 10s
retries: 5
start_period: 60s
stop_grace_period: 30s
ulimits:
nofile:
soft: 65535
hard: 65535
logging:
driver: json-file
options:
max-size: "20m"
max-file: "5"