logo
0
0
WeChat Login
ui: white text pass and fix expand jump; docs: promote content repo cnb template

内容仓快速开始(先看这里)

把下面这份配置直接复制到你的内容仓根目录 .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:点击“云原生开发”直接进预览页,不进 WebIDE
  • keepAliveTimeout: 10m:断连后保活 10 分钟,超时自动回收
  • backup: true:启用 CNB 备份机制,保障内容仓工作区文件持久化
  • docker.image:直接引用本环境仓构建好的镜像(无需在内容仓再写 Dockerfile 构建逻辑)

项目说明

仓库职责

这个仓库现在定位为“环境制品仓”:

  • 负责构建并推送云端 Obsidian 工作台镜像
  • 负责维护 Guacamole、入口页、同步 API、Obsidian 启动链路
  • 不直接承载用户笔记内容

推荐再单独创建一个“内容仓”:

  • 只保存 .cnb.ymlvault/ 目录和 Obsidian 配置
  • 直接引用本仓库推送出的 Docker 制品
  • 用户上传、本地目录同步、Git 提交都落在内容仓的 /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

  • 点击“云原生开发”后直接进入预览页,而不是 WebIDE
  • 预览页再通过同一个 8686 入口加载 Guacamole
  • 容器内的 Guacamole/Tomcat 仍可使用内部 8080,但不再依赖 CNB 多端口代理暴露给用户

内容仓请不要再复制这一套构建逻辑,而是直接使用 templates/content-repo/.cnb.yml 的镜像引用方式。