forked from admin/hair-keeper
42 lines
1.2 KiB
YAML
42 lines
1.2 KiB
YAML
services:
|
|
cloud-dev:
|
|
build:
|
|
context: .
|
|
dockerfile: Dockerfile
|
|
container_name: hair-keeper-dev
|
|
hostname: hair-keeper-dev
|
|
ports:
|
|
- "2222:22" # SSH
|
|
- "8080:8080" # Code Server
|
|
- "7681:7681" # ttyd (Web Terminal)
|
|
- "3000:3000" # Next.js Dev Server
|
|
volumes:
|
|
# 项目代码映射(使用 cached 模式提高性能)
|
|
- ../:/workspace:cached
|
|
# node_modules 使用命名卷以提高性能
|
|
- node_modules:/workspace/node_modules
|
|
# pnpm store 缓存
|
|
- pnpm_store:/root/.local/share/pnpm/store
|
|
# Git 配置(可选,如果需要保留 Git 配置)
|
|
- ~/.gitconfig:/root/.gitconfig:ro
|
|
environment:
|
|
- NODE_ENV=development
|
|
- TZ=Asia/Shanghai
|
|
# 开发环境密码,可自定义修改
|
|
- DEV_PASSWORD=clouddev
|
|
restart: unless-stopped
|
|
# 资源限制(可选,根据需要调整)
|
|
deploy:
|
|
resources:
|
|
limits:
|
|
cpus: '4'
|
|
memory: 8G
|
|
reservations:
|
|
cpus: '2'
|
|
memory: 4G
|
|
|
|
volumes:
|
|
# node_modules 卷,避免主机和容器之间的文件系统差异
|
|
node_modules:
|
|
# pnpm store 卷,加速依赖安装
|
|
pnpm_store: |