手把手教你:使用Docker快速部署Poznote私有笔记
手把手教你:使用Docker快速部署Poznote私有笔记
1.1 Poznote项目简介
1.2 Poznote主要特点
2.1 本地环境规划
2.2 本次实践介绍
3.1 检查Docker服务状态
3.2 检查Docker版本
3.3 检查docker compose 版本
5.1 创建部署目录
5.2 docker compose方式部署
5.3 创建Poznote容器
5.4 查看Poznote容器状态
5.5 检查Poznote容器日志
6.1 访问Poznote首页
6.2 编辑笔记
一、Poznote介绍
1.1 Poznote项目简介
Poznote是一款轻量级但功能强大的自托管网络笔记应用,帮助用户高效捕获、组织和访问笔记,同时确保用户完全掌控自己的数据。
1.2 Poznote主要特点
富文本编辑器:提供简洁高效的富文本编辑体验,快速创建格式丰富的笔记。
全文搜索:支持即时全文搜索,轻松定位所需笔记内容。
标签系统:通过自定义标签对笔记进行灵活分类与管理。
文件附件:可在笔记中附加文件,增强上下文信息与参考资料完整性。
响应式设计:适配各类设备,在桌面或移动浏览器上均可流畅使用。
自托管架构:所有数据存储于用户自有服务器,保障隐私与安全。
多实例支持:可运行多个相互隔离的实例,适用于不同项目或用户。
工作区(Workspaces):将笔记按项目或场景分组到独立工作区,提升组织效率。
内置备份功能:提供一键导出与备份工具,确保数据安全无忧。
回收站机制:删除的笔记进入回收站,支持误删恢复。
REST API:开放完整的编程接口,便于集成与自动化操作。
公开分享:生成只读链接,便捷地对外共享笔记内容。
任务列表:在笔记内创建和管理待办事项,助力任务追踪与进度管理。
Markdown 支持:原生支持 Markdown 语法,实现高效结构化写作。
深色模式:提供深色主题,优化低光环境下的阅读与书写体验。
Excalidraw 集成:内置 Excalidraw 绘图工具,轻松创建图表、草图与可视化笔记。
二、本次实践规划
2.1 本地环境规划
本次实践为个人测试环境,操作系统版本为 Ubuntu 24.04.2 LTS。

2.2 本次实践介绍
1.本次实践部署环境为个人测试环境,生产环境请谨慎; 2.在Docker环境下部署Poznote文件管理工具。
三、本地环境检查
3.1 检查Docker服务状态
检查Docker服务是否正常运行,确保Docker正常运行。
root@jeven:~# systemctl status docker
● docker.service - Docker Application Container Engine
Loaded: loaded (/usr/lib/systemd/system/docker.service; enabled; preset: enabled)
Active: active (running) since Sun 2025-11-02 07:06:57 UTC; 3 days ago
TriggeredBy: ● docker.socket
Docs: https://docs.docker.com
Main PID: 889 (dockerd)
Tasks: 82
Memory: 1.1G (peak: 2.8G)
CPU: 6min 1.860s
CGroup: /system.slice/docker.service

3.2 检查Docker版本
检查Docker版本
root@jeven:~# docker -v
Docker version 28.5.0, build 887030f
3.3 检查docker compose 版本
检查Docker compose版本,确保2.0以上版本。
root@jeven:~# docker compose version
Docker Compose version v2.39.4
四、拉取Poznote镜像
下载Poznote镜像,镜像名称为:
ghcr.io/timothepoznanski/poznote:1.9.4
docker pull ghcr.io/timothepoznanski/poznote:1.9.4
五、部署Poznote服务
5.1 创建部署目录
创建部署目录
mkdir -p /data/poznote && cd /data/poznote
5.2 docker compose方式部署
新建及编辑docker-compose.yaml文件,宿主机映射端口可自行设置,注意防止端口冲突。
vim docker-compose.yaml
version: '3.8'
services:
webserver:
image: ghcr.io/timothepoznanski/poznote:1.9.4
container_name: poznote
restart: always
environment:
SQLITE_DATABASE: /var/www/html/data/database/poznote.db
POZNOTE_USERNAME: admin
POZNOTE_PASSWORD: Admin@123
HTTP_WEB_PORT: 8200
ports:
- "8200:80"
volumes:
- poznote_data:/var/www/html
volumes:
poznote_data:
5.3 创建Poznote容器
执行以下命令,创建Poznote容器。
5.4 查看Poznote容器状态
检查Poznote容器运行状态,确保Poznote容器正常启动。
root@jeven:/data/poznote# docker compose ps
WARN[0000] /data/poznote/docker-compose.yaml: the attribute `version` is obsolete, it will be ignored, please remove it to avoid potential confusion
NAME IMAGE COMMAND SERVICE CREATED STATUS PORTS
poznote ghcr.io/timothepoznanski/poznote:1.9.4 "docker-php-entrypoi…" webserver 42 seconds ago Up 41 seconds 9000/tcp, 0.0.0.0:8200->80/tcp, [::]:8200->80/tcpp
5.5 检查Poznote容器日志
检查容器运行日志,确保Poznote服务正常运行。
六、访问Poznote服务
6.1 访问Poznote首页
浏览器地址:
http://<个人的服务器IP>:8200,访问Poznote初始页。如果无法访问,请确保宿主机的防火墙已关闭或已放行相关端口,对于云服务器还需配置相应的安全组规则。

在部署文件中我们设置的账号密码为admin/Admin@123 ,输入账号密码登录即可。

6.2 编辑笔记
我们点击新增笔记选项,编辑markdown笔记内容,效果如下所示:

七、总结
本次实践成功通过 Docker 部署了 Poznote 笔记管理工具,验证了容器化应用在快速搭建服务方面的优势。整个过程操作简洁,依赖少,仅需一个 compose 文件即可完成部署与数据持久化。Poznote 界面清爽、功能实用,适合轻量级笔记记录与管理。通过本次练习,不仅加深了对 Docker 卷管理和环境变量配置的理解,也为后续部署类似 Web 应用积累了经验。
作者声明本文无利益相关,欢迎值友理性交流,和谐讨论~


