bfe0a0654d960036fa9c9f25a252774bfceaaa33
- Multi-stage build: frontend, static Go binary with embedded assets, distroless nonroot runtime (~35 MB) with a built-in healthcheck - Explain how to fix data directory permission errors on bind mounts
RawMark
纯 Markdown 笔记网页编辑器:所见即所得(类 Obsidian Live Preview)、文件即真源、Docker 部署、浏览器访问。
部署
mkdir -p ~/rawmark-data
docker build -t rawmark .
docker run -d --name rawmark \
--user "$(id -u):$(id -g)" \
-p 8080:8080 \
-v ~/rawmark-data:/data \
--restart unless-stopped \
rawmark
- 首次打开需要输入启动码,位于数据目录的
setup-code.txt(如~/rawmark-data/setup-code.txt),设置密码后自动删除。 - 笔记以普通
.md文件保存在数据目录/vault/,图片按 Typora 习惯存放在同级的笔记名.assets/,可直接用 Typora 等编辑器打开;外部修改会实时同步到网页。 --user让容器以宿主机用户身份读写数据目录;不指定时容器以 UID 65532 运行,需要该用户对目录有写权限。- 请通过 HTTPS 反向代理(Caddy、Nginx 等)访问,并转发 WebSocket(
/api/v1/events)。笔记加密等功能依赖浏览器的安全上下文,纯 HTTP 下不可用。
| 环境变量 | 默认值 | 说明 |
|---|---|---|
RAWMARK_DATA |
/data |
数据目录(数据库、默认笔记仓库) |
RAWMARK_VAULT |
$RAWMARK_DATA/vault |
笔记仓库目录,可指向已有的笔记文件夹 |
RAWMARK_ADDR |
:8080 |
监听地址 |
开发
cd web && npm install
npm run dev # 前端开发服务器,/api 转发到 127.0.0.1:8080
npm run typecheck && npm test
go test ./internal/...
Description
RawMark local CI validation; no automatic publication
35 MiB
0 Stars
1 Watchers
0 Forks
Releases
1
RawMark 20261030-32c1c254
Latest
Languages
TypeScript
34.5%
Go
31.8%
Vue
15.6%
CSS
11%
Python
6.1%
Other
0.8%