告别云端笔记!Docker部署Journiv,打造你的安全私人日记
告别云端笔记!Docker部署Journiv,打造你的安全私人日记
1.1 Journiv项目简介
1.2 Journiv主要特点
1.3 注意事项
2.1 本地环境规划
2.2 本次实践介绍
3.1 检查Docker服务状态
3.2 检查Docker版本
3.3 检查docker compose 版本
5.1 创建部署目录
5.2 docker compose方式部署
5.3 创建Journiv容器
5.4 查看Journiv容器状态
5.5 检查Journiv容器日志
6.1 访问Journiv首页
6.2 注册账号
6.3 编辑日记
一、Journiv介绍
1.1 Journiv项目简介
Journiv 是一款处于积极开发中的自托管私人日记应用,注重隐私、安全与用户体验,帮助用户记录生活、追踪情绪并进行深度自我反思。
1.2 Journiv主要特点
隐私与安全:数据完全由用户掌控,支持本地数据库存储,无任何遥测,提供 JWT 认证及可选的 OIDC/SSO 集成。
内容创作:支持富文本日记、多本日记分类、灵活标签系统、多媒体上传及带时区信息的精准时间记录。
情绪追踪:可记录每日心情,结合可视化分析、写作连击统计和情绪模式识别,助你了解内在变化。
提示式日记:每日智能推送写作提示,支持按类别筛选,并能一键从提示创建日记条目。
搜索与发现:提供全文检索、多维过滤(日期、情绪、标签等)、“历史上的今天”等功能,轻松找回过往记录。
分析与洞察:整合写作习惯、情绪趋势、各日记本统计及个性化建议,打造专属反思仪表盘。
1.3 注意事项
Journiv 目前仍为测试版软件,尽管开发团队努力保持数据向后兼容,但未来更新可能引入重大变更,请务必定期备份数据以防丢失。
二、本次实践规划
2.1 本地环境规划
本次实践为个人测试环境,操作系统版本为 Ubuntu 24.04.2 LTS。

2.2 本次实践介绍
1.本次实践部署环境为个人测试环境,生产环境请谨慎;
2.在Docker环境下部署Journiv自托管日记应用程序。
三、本地环境检查
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 Tue 2025-12-02 00:51:31 CST; 1min 11s ago
TriggeredBy: ● docker.socket
Docs: https://docs.docker.com
Main PID: 75393 (dockerd)
Tasks: 32
Memory: 34.1M (peak: 34.8M)
CPU: 1.248s
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
四、拉取Journiv镜像
下载Journiv镜像,镜像名称为:
registry.cn-hangzhou.aliyuncs.com/jeson/journiv-app:main。
docker pull registry.cn-hangzhou.aliyuncs.com/jeson/journiv-app:main
五、部署Journiv服务
5.1 创建部署目录
创建部署目录
mkdir -p /data/journiv/data && cd /data/journiv
权限设置
chmod -R 777 /data/journiv/
5.2 docker compose方式部署
使用docke-cli方式部署,DOMAIN_NAME注意改为自己服务器IP。
docker run -d
--name journiv
--restart unless-stopped
-p 2300:8000
-e SECRET_KEY=your-secret-key-here
-e DOMAIN_NAME=192.168.3.88
-v $(pwd)/data:/data
registry.cn-hangzhou.aliyuncs.com/jeson/journiv-app:main
新建及编辑docker-compose.yaml文件,宿主机映射端口可自行设置,注意防止端口冲突。将DOMAIN_NAME更改为自己服务器IP地址,SECRET_KEY自行设置密钥。
vim docker-compose.yaml
version: '3'
services:
journiv:
image: registry.cn-hangzhou.aliyuncs.com/jeson/journiv-app:main
container_name: journiv
restart: unless-stopped
ports:
- 2300:8000
volumes:
- ./data:/data
environment:
- SECRET_KEY=xT6#kL9@vN2aqW4!zP8&mR1*yU5^aB7(cE3)gH0~jK9%nM2asD6
- DOMAIN_NAME=192.168.3.88
环境变量解释:
SECRET_KEY:用于应用加密和安全签名的密钥,必须保密且足够随机。DOMAIN_NAME:指定应用对外访问的域名或 IP 地址,用于生成正确的链接或配置回调地址。
5.3 创建Journiv容器
执行以下命令,创建Journiv容器。
5.4 查看Journiv容器状态
检查Journiv容器运行状态,确保Journiv容器正常启动。
root@jeven:/data/journiv# docker compose ps
WARN[0000] /data/journiv/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
journiv registry.cn-hangzhou.aliyuncs.com/jeson/journiv-app:main "/app/scripts/docker…" journiv 4 minutes ago Up 4 minutes (healthy) 0.0.0.0:2300->8000/tcp, [::]:2300->8000/tcp
5.5 检查Journiv容器日志
检查容器运行日志,确保Journiv服务正常运行。
在这里插入图片描述
六、访问Journiv服务
6.1 访问Journiv首页
浏览器地址:
http://<个人的服务器IP>:2300,访问Journiv初始页。如果无法访问,请确保宿主机的防火墙已关闭或已放行相关端口,对于云服务器还需配置相应的安全组规则。

6.2 注册账号
将URL改为自己服务器IP地址,例如http://192.168.3.88:2300/,自行注册账号。


6.3 编辑日记
自行新建日记本和编辑笔记内容,如下所示:

七、总结
本次实践成功通过 Docker Compose 部署了 Journiv 自托管日记应用,验证了其轻量、私有化记录日记的核心功能。通过合理配置环境变量与持久化数据卷,确保了服务的安全性与数据持久性。访问 Web 界面后可顺利完成注册、登录及日记编辑,用户体验简洁流畅。整体部署过程高效可靠,适合个人或小团队搭建私有日记平台。
作者声明本文无利益相关,欢迎值友理性交流,和谐讨论~


