把下面这份配置直接复制到你的内容仓根目录 .cnb.yml:
$:
vscode:
- runner:
cpus: 4
docker:
image: docker.cnb.cool/xinhuangg/debian-obsidian-docker2:latest
services:
- docker
- name: vscode
options:
onlyPreview: true
backup: true
launch: bash /setup.sh
keepAliveTimeout: 10m
daemon: true
用法说明:
onlyPreview: true:点击“云原生开发”直接进预览页,不进 WebIDEkeepAliveTimeout: 10m:断连后保活 10 分钟,超时自动回收backup: true:启用 CNB 备份机制,保障内容仓工作区文件持久化docker.image:直接引用本环境仓构建好的镜像(无需在内容仓再写 Dockerfile 构建逻辑)这个仓库现在定位为“环境制品仓”:
推荐再单独创建一个“内容仓”:
.cnb.yml、vault/ 目录和 Obsidian 配置/workspace/vault本仓库自己的 .cnb.yml 仍然用于构建和测试环境镜像:
$:
vscode:
- runner:
cpus: 4
docker:
build:
dockerfile: Dockerfile
by:
- Dockerfile
- setup.sh
- scripts/launch-obsidian.sh
- scripts/render-runtime-config.sh
- scripts/start-landing-page.sh
- scripts/start-obsidian-session.sh
- scripts/update-obsidian.sh
- scripts/workbench_server.py
- web/index.html
- web/styles.css
- web/app.js
- web/runtime-config.js
services:
- docker
- name: vscode
options:
onlyPreview: true
backup: true
launch: bash /setup.sh
keepAliveTimeout: 10m
daemon: true
当前默认入口已经收敛为单端口 8686:
8686 入口加载 Guacamole8080,但不再依赖 CNB 多端口代理暴露给用户内容仓请不要再复制这一套构建逻辑,而是直接使用 templates/content-repo/.cnb.yml 的镜像引用方式。