支持加密的日记应用程序DailyTxT

本文完成于 12 月下旬,对应的版本为 1.0.10(2022_11_02)

什么是 DailyTxT ?

DailyTxT 是一个加密的 Web 日记应用程序,用于写下您当天的故事并轻松地再次找到它们。它是用 Python Flask(后端)和 Vue.JS(前端)编写的,旨在由 Docker 运行。

安装

在群晖上以 Docker 方式安装。

在注册表中搜索 dailytxt ,选择第一个 phitux/dailytxt,版本选择 latest

docker 文件夹中,创建一个新文件夹 dailytxt,并在其中建一个子文件夹 data

文件夹 装载路径 说明
docker/dailytxt/data /app/data/ 存放数据

端口

本地端口不冲突就行,不确定的话可以用命令查一下

1
2
# 查看端口占用
netstat -tunlp | grep 端口号
本地端口 容器端口
8755 8755

默认没有暴露端口

需要自己点 + 号添加

环境

可变
PORT 用于设置容器端口
SECRET_KEY 密码
ALLOW_REGISTRATION 是否允许注册新用户
DATA_INDENT 日志格式是否缩进
JWT_EXP_DAYS JWT令牌过期时间
ENABLE_UPDATE_CHECK 是否检测新版本
  • PORT:老苏设置为了 8755,如果你设置了其他值,前面的容器端口也要跟着变;
  • SECRET_KEY:可以用在 SSH 客户端中执行命令 openssl rand -base64 32 来生成,也可以用 Bitwarden 的密码生成器;

  • ALLOW_REGISTRATION:将其设置为 False 或完全删除该行以禁止注册新用户。从安全性考虑,你可以在第一次运行时允许注册,生成必要的帐户,然后重新启动不允许注册的容器;
  • DATA_INDENT:如果希望 json日志文件缩进,请使用此选项。使比较文件更容易。否则,只需删除此行;
  • JWT_EXP_DAYS:设置 JWT令牌将过期多少天后,您必须重新登录。默认为30天;
  • ENABLE_UPDATE_CHECK:是否启用新版本检测,设置后默认为 True,当 DailyTx 有更新版本可用时,每小时最多自动检查一次;

命令行安装

如果你熟悉命令行,可能用 docker cli 更快捷

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
# 新建文件夹 dailytxt 和 子目录
mkdir -p /volume2/docker/dailytxt/data

# 进入 dailytxt 目录
cd /volume2/docker/dailytxt

# 运行容器
docker run -d \
--restart unless-stopped \
--name dailytxt \
-p 8755:8755 \
-e "PORT=8755" \
-e "SECRET_KEY=jrCUwriBzPIyIub5UkyOnQguoVrA/uFWvh/XQQmbfic=" \
-e "ALLOW_REGISTRATION=True" \
-e "DATA_INDENT=2" \
-e "JWT_EXP_DAYS=60" \
-e "ENABLE_UPDATE_CHECK=True" \
-v $(pwd)/data:/app/data \
phitux/dailytxt:latest

也可以用 docker-compose 安装,将下面的内容保存为 docker-compose.yml 文件

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
version: '3'

services:
dailytxt:
image: phitux/dailytxt:latest
container_name: dailytxt
restart: always
ports:
- 8755:8755
volumes:
- ./data:/app/data/
environment:
- PORT=8755
- SECRET_KEY=jrCUwriBzPIyIub5UkyOnQguoVrA/uFWvh/XQQmbfic=
- ALLOW_REGISTRATION=True
- DATA_INDENT=2
- JWT_EXP_DAYS=60
- ENABLE_UPDATE_CHECK=True

然后执行下面的命令

1
2
3
4
5
6
7
8
9
10
# 新建文件夹 dailytxt 和 子目录
mkdir -p /volume2/docker/dailytxt/data

# 进入 dailytxt 目录
cd /volume2/docker/dailytxt

# 将 docker-compose.yml 放入当前目录

# 一键启动
docker-compose up -d

运行

在浏览器中输入 http://群晖IP:8755 就能看到登录界面

先注册一个用户

登录成功后的主界面

设置中可以改密码,备份,设置模板、导入/导出数据等

主界面分左上、左下、中间和右上 4 个区域

  • 左上区域:用于选择某一天,其中
    • 蓝色:当前选中的天;
    • 绿色:当天有保存的日记;
    • 红点:当天有上传的文件;
  • 左下区域:为搜索区,可以用符号 | 表示或;
  • 中间区域:为书写区,显示和输入选定日期的日记,它是自动保存的;
    • 橙色边框表示 尚未保存
    • 绿色边框表示 已保存
  • 右上区域:为上传区域,上载选定日期的文件

顶部的历史记录按钮,可以回顾当天的历史记录

日记,包括上传的文件都是加密存储的

这是一张刚上传的 png 图片

即便重命名也是打不开的

打开日记文件,内容也是加密的

本文是节前的最后一更,节后咱们不见不散,祝愿大家在新的一年身体健康,人财两旺。

参考文档

PhiTux/DailyTxT: Encrypted Diary Web-App
地址:https://github.com/PhiTux/DailyTxT