67 lines
1.8 KiB
YAML
67 lines
1.8 KiB
YAML
# WorkPod 实例模板 — 复制此文件到 instances/{name}/ 后修改
|
||
# 修改项(搜索 { } 占位符):
|
||
# 1. {name} → 实例名(如 suke, case, hszd)
|
||
# 2. {SSH_PORT} → SSH 端口(按端口分配规则)
|
||
# 3. {WEB_PORT} → Web 端口
|
||
# 4. {PROJECT_PATH}→ 项目路径(如 E:/wk-suke)
|
||
# 5. 取消注释需要的 extra_volumes 和 extra_env
|
||
|
||
services:
|
||
ws-{name}-dev:
|
||
build:
|
||
context: ../../
|
||
dockerfile: instances/{name}/Dockerfile
|
||
image: ws-{name}-dev:latest
|
||
container_name: ws-{name}-dev
|
||
hostname: ws-{name}-dev
|
||
restart: unless-stopped
|
||
|
||
ports:
|
||
- "{SSH_PORT}:22"
|
||
- "{WEB_PORT}:7681"
|
||
|
||
volumes:
|
||
- {PROJECT_PATH}:/workspace
|
||
# Java 项目取消注释:
|
||
# - D:/Java/jdk-musl-17:/opt/jdk-musl-17:ro
|
||
# - D:/Java/maven-mvnd-3.9.14:/opt/maven-mvnd-3.9.14:ro
|
||
# 持久化 home 目录(手动安装的工具不会因重建丢失):
|
||
- ../../data/home/{name}:/root
|
||
|
||
environment:
|
||
- TZ=Asia/Shanghai
|
||
- TERM=xterm-256color
|
||
- ROOT_PASSWORD=${ROOT_PASSWORD:-workpod123}
|
||
- TTYD_CREDENTIALS=${TTYD_CREDENTIALS:-jc:1234567}
|
||
# - WORKPOD_PROJECT={name}
|
||
# - JAVA_HOME=/opt/jdk-musl-17
|
||
# - MAVEN_HOME=/opt/maven-mvnd-3.9.14
|
||
|
||
deploy:
|
||
resources:
|
||
limits:
|
||
memory: 4G
|
||
reservations:
|
||
memory: 1G
|
||
|
||
logging:
|
||
driver: json-file
|
||
options:
|
||
max-size: "10m"
|
||
max-file: "3"
|
||
|
||
healthcheck:
|
||
test: ["CMD-SHELL", "netstat -tlnp 2>/dev/null | grep -qE ':(22|7681)\\b' || exit 1"]
|
||
interval: 30s
|
||
timeout: 5s
|
||
start_period: 15s
|
||
retries: 3
|
||
|
||
working_dir: /workspace
|
||
tty: true
|
||
stdin_open: true
|
||
|
||
networks:
|
||
default:
|
||
name: workpod-{name}-network
|