news 2026/10/23 5:59:08

如何用 Poznote 搭建自己的笔记系统:Docker 5 分钟部署完全教程(Windows/Linux/macOS 全平台)

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
如何用 Poznote 搭建自己的笔记系统:Docker 5 分钟部署完全教程(Windows/Linux/macOS 全平台)

【免费下载链接】poznote

Powerful note-taking without the hassle.

项目地址:https://gitcode.com/gh_mirrors/po/poznote
点击查看免费下载

Poznote 是一款免费、开源、可自托管的笔记系统,支持富文本、Markdown、任务清单、看板视图与多人协作。本教程带你用 Docker 在 Windows、Linux 和 macOS 上完成部署:只需 3 条命令,5 分钟就能拥有完全属于自己的私有笔记系统,数据全部保存在自己的机器上。

为什么用 Docker 部署 Poznote 自托管笔记

  • ✅零环境依赖:不用自己装 PHP、nginx、SQLite,一个 Docker 镜像全部搞定(镜像内部用 supervisor 统一管理服务进程,构建细节见 Dockerfile)。
  • ✅全平台通用:官方镜像支持linux/amd64和linux/arm64,Windows / macOS 通过 Docker Desktop 即可运行,树莓派、NAS 等 ARM 设备也支持。
  • ✅数据完全自主:所有笔记、附件、备份都保存在你本地的data/目录,更新应用也不会丢数据。
  • ✅5 分钟上线:默认端口8040,克隆仓库、拉取镜像、启动容器即可访问。

准备工作:Docker 环境一键装好

平台需要安装
WindowsDocker Desktop(安装并启动即可)
LinuxDocker Engine + Docker Compose 插件
macOSDocker Desktop(安装并启动即可)

装完后验证一下,能打印出版本号就说明环境就绪:

docker --version docker compose version

💡 三个平台的安装流程完全一致,下文命令通用;Windows 请在 PowerShell 中执行。

3 条命令完成 Poznote Docker 部署(最快方法)

第 1 步:克隆仓库并准备配置文件

仓库里直接自带了部署需要的 docker-compose.yml 和环境模板 .env.template,克隆一次即可:

git clone https://gitcode.com/gh_mirrors/po/poznote cd poznote cp .env.template .env # Windows PowerShell 用:copy .env.template .env

第 2 步:拉取镜像并启动容器

docker compose pull docker compose up -d

docker compose.yml会启动两个容器:

服务作用端口
webserverPoznote 主程序(nginx + PHP)${HTTP_WEB_PORT}→ 容器内 80
mcp-serverAI 助手用的 MCP 接口仅绑定127.0.0.1:8045

首次启动拉取镜像需要几分钟,之后每次启动都是秒级。

第 3 步:验证部署

执行docker compose ps,两个服务状态均为Up(健康检查通过)即部署成功:

docker compose ps docker compose logs -f webserver # 可选:查看启动日志

首次登录:默认账号、密码与端口

浏览器打开:

http://localhost:8040

  • 用户名:admin_change_me
  • 密码:admin
  • 端口:8040(来自.env的HTTP_WEB_PORT)

⚠️登录后第一件事:改掉默认管理员账号名和密码,再去Settings > Admin Tools > User Management管理多用户。

修改 Poznote 访问端口与关键 .env 配置

大多数日常设置都在网页界面里改,.env只用于"部署/运行时"参数。修改后执行docker compose up -d生效即可。完整说明见 .env.template 内的注释。

变量默认值用途
HTTP_WEB_PORT8040浏览器访问端口,改端口就改这一行
POZNOTE_MCP_PORT8045MCP 服务端口(仅本机可访问)
POZNOTE_LISTEN_PORT容器内 80仅network_mode: host模式需要
POZNOTE_PHP_FPM_MAX_CHILDREN10并发 PHP 请求数,多人高负载时调大
POZNOTE_PHP_MEMORY_LIMIT512单请求 PHP 内存上限(MB)
POZNOTE_DEBUGfalse排障时临时开启,平时保持关闭

🔒 端口被占用时,直接把HTTP_WEB_PORT改成别的端口(如8090)再docker compose up -d即可。

如何更新 Poznote:一键升级、数据永不丢失

笔记、附件、备份全部存放在./data目录(对应容器内/var/www/html/data),升级只会替换镜像,不会动这个目录。更新流程:

cd poznote git pull # 获取最新的 docker-compose.yml 与配置模板 docker compose down docker compose pull # 拉取新版本镜像 docker compose up -d

容器启动脚本(docker/init.sh)会在每次启动时初始化目录、应用环境参数,然后由 supervisord 拉起 nginx 与 php-fpm,无需额外操作。

常见部署问题速查清单

遇到报错别慌,90% 的问题都在这张表里(完整版见 docs/TROUBLESHOOTING.md):

现象原因与解决
mkdir(): Permission denied/unable to open database file挂载卷权限问题,先执行sudo chown -R 82:82 data(82 是 Alpine 中www-data的 UID)再启动
attempt to write a readonly database先重启容器;不行就docker compose down && sudo chown 1000:1000 -R data
浏览器显示 "This site can't be reached"多为 SELinux 拦截,在 docker-compose.yml 的卷上加:Z后缀:./data:/var/www/html/data:Z;或避免把目录放在/root下
"Incorrect username or password"管理员用admin_change_me/admin;普通用户默认密码是user;确认该用户在 User Management 中是active状态
容器反复重启执行docker compose logs webserver查看日志定位

💡 如果你的环境禁止容器内运行 root 用户(如 K8s 受限策略、rootless Podman),Poznote 提供了专门的非 root 镜像:直接使用仓库内的 docker-compose.rootless.yml,并在首次启动前把data目录属主设为1000:1000即可。

部署之后:自托管笔记系统值得马上试的 3 个功能

1️⃣ 任务日历——把任务列表、截止日期汇总到一张日历上,支持"待办 / 重要 / 逾期 / 已完成"状态筛选:

2️⃣ 深色模式与多主题——左下角主题按钮一键切换 Light / Dark / Black / Lavender / Sepia / Terminal 等 6 套内置主题,护眼夜间党友好:

3️⃣ 多人协作与共享——管理员在 User Management 里建账号即可团队共用一个实例;工作区、笔记、文件夹都能共享,支持公开链接、密码保护或指定用户访问。

更多玩法(AI 助手、MCP 服务、Git 同步、Webhooks、Chrome 扩展)可阅读官方简体中文文档 docs/README.zh-cn.md。

总结:你的私有笔记系统已经上线

回看全程,核心就 4 步:

  1. git clone仓库并复制.env.template为.env
  2. docker compose pull拉取镜像
  3. docker compose up -d启动
  4. 浏览器访问http://localhost:8040,用admin_change_me/admin登录并改密码

Windows、Linux、macOS 命令完全一致。从打开终端到拥有笔记系统,5 分钟封顶——数据在自己手里,才是真正"强大的笔记,没有负担"。

【免费下载链接】poznote

Powerful note-taking without the hassle.

项目地址:https://gitcode.com/gh_mirrors/po/poznote
点击查看免费下载
上一篇:pyAudioAnalysis完全指南:从零开始掌握Python音频分析技术
下一篇:Openblocks自定义组件开发:使用React和SDK的详细教程

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/10/23 5:58:43

OpenRath流式输出实战:实时接收LLM增量响应并统计token消耗

【免费下载链接】OpenRath An open-source, PyTorch-like runtime for dynamic multi-agent and multi-session workflows. 项目地址: https://gitcode.com/gh_mirrors/op/OpenRath 点击查看 免费下载 OpenRath 是一个 PyTorch 风格的多智能体、多会话运行时框架&a…

作者头像 李华
网站建设 2026/10/23 5:56:45

用Codex和Chromatic复刻街机游戏:AI辅助开发实践记录

用 Codex 在 Chromatic 上复刻街机游戏:AI 辅助开发的实践记录最近在做一个复古游戏复刻的项目,核心思路是用 Codex 生成代码,跑在 Chromatic 引擎上,目标是还原经典街机游戏的玩法和手感。这个组合很有意思:Codex 负责…

作者头像 李华
网站建设 2026/10/23 5:56:43

TradeX-TPS交易插件:轻量级协议翻译器与跨语言调用实践

简介:TradeX-TPS交易插件系统v1.0是一款面向量化交易开发者与券商系统集成人员的轻量级股票自动化交易工具,专为适配大智慧、通达信等主流行情软件设计,解决第三方程序对接券商交易通道难、接口兼容性差、功能扩展受限等实际问题。资源包共20…

作者头像 李华
网站建设 2026/10/23 5:55:20

Delphi 10.4.1 TMS FMX UI Pack 安装避坑指南

简介:TMS FMX UI Pack 3.7.3.0 是一套专为 Delphi 10.4 Sydney 及兼容版本(XE7–10.3)设计的跨平台 FireMonkey UI 组件库,面向 Delphi 桌面与移动应用开发者,解决原生 FMX 组件样式单一、交互体验不足、多语言支持薄弱…

作者头像 李华