# 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