Skip to content

DailyTxT封面

DailyTxT 简介

DailyTxT 是一款开源 加密日记 Web-App,后端采用 Python Flask,前端基于 Vue.js,官方提供 AMD64/ARM64 通用镜像,并计划在 2025 年推出 2.0(Svelte + FastAPI)。

官方网站:https://github.com/PhiTux/DailyTxT

主要特点

  • 端到端加密:所有日记文本采用 AES-256 加密保存
  • 简洁高效:每日一篇纯文本,快速检索
  • 多用户:可在初次部署时开放注册,随后关闭
  • Docker 化:一键启动,跨平台部署

准备工作

  1. 已安装 DockerDocker Compose(参考本站《Linux Docker 安装指南》)
  2. 服务器资源建议:
    • CPU:1 核+
    • 内存:512 MB+
    • 磁盘:1 GB 可用空间
  3. (可选) 准备一个解析到服务器的域名,用于 HTTPS 访问

使用 Docker Compose 部署 DailyTxT

1. 创建目录

bash
mkdir -p ~/dailytxt/data
cd ~/dailytxt

2. 生成加密密钥

bash
# 生成安全的随机密钥
echo "SECRET_KEY=$(openssl rand -base64 32)"

请将输出的密钥保存到安全的地方,稍后配置会用到。

3. 编写 docker-compose.yml

bash
cat > docker-compose.yml << 'EOF'
services:
  dailytxt:
    image: phitux/dailytxt:latest
    container_name: dailytxt
    restart: always
    ports:
      - "8765:8765"  # 宿主机端口:容器端口
    volumes:
      - ./data:/app/data  # 数据目录挂载
    environment:
      - PORT=8765
      - SECRET_KEY=your_generated_secret_key_here  # 替换为上一步生成的密钥
      - ALLOW_REGISTRATION=True  # 首次部署后建议改为 False
      - JWT_EXP_DAYS=60
      - ENABLE_UPDATE_CHECK=True
      - TZ=Asia/Shanghai
EOF

参数说明

  • 镜像配置

    • image: 使用官方最新版镜像,如需指定版本可修改为 phitux/dailytxt:1.0.4
    • container_name: 容器名称,便于管理
    • restart: always: 容器退出时自动重启
  • 网络配置

    • ports: 将容器内部端口映射到宿主机,格式为 宿主机端口:容器端口
    • 如需修改外部访问端口,可调整左侧端口号(如 8080:8765
  • 数据持久化

    • volumes: 将容器内的 /app/data 目录挂载到宿主机的 ./data 目录
    • 确保宿主机目录存在并具有适当权限
  • 安全设置

    • SECRET_KEY: 用于加密存储和会话管理,请妥善保管
    • JWT_EXP_DAYS: 登录会话有效期,建议根据安全需求调整
    • 生产环境务必设置 ALLOW_REGISTRATION=False 并移除默认凭据
  • 性能调优

    • DATA_INDENT: 设置数据文件缩进,影响存储空间和读写性能
    • 生产环境可考虑禁用 ENABLE_UPDATE_CHECK 减少外部请求

3. 启动服务

bash
docker compose up -d

4. 验证运行

bash
docker ps | grep dailytxt

出现 Up 状态即部署成功。

基本配置

1. 首次访问

浏览器打开:

bash
http://<服务器IP或域名>:8765

注册首个账户后即可开始写日记。

2. 绑定域名(推荐)

如需通过 自定义域名 + HTTPS 访问,推荐搭配 Nginx Proxy Manager 进行反向代理与 SSL 证书配置。

详细步骤请参见:《使用 Docker 快速部署 Nginx Proxy Manager 实现多域名反向代理

配置完成后,即可安全地通过 https://note.example.com 访问 DailyTxT。

数据备份与恢复

DailyTxT 所有数据(含用户密钥、日志)均存放于 ./data(容器内 /app/data)。建议定期离线备份并验证可用性。

1. 备份数据

bash
# 创建备份文件
tar -czvf dailytxt-backup-$(date +%Y%m%d).tar.gz -C ~/dailytxt/data .

2. 恢复数据

bash
# 停止服务
cd ~/dailytxt
docker compose down

# 恢复备份(请将 YYYYMMDD 替换为实际备份日期)
tar -xzvf dailytxt-backup-YYYYMMDD.tar.gz -C ~/dailytxt/data

# 重新启动服务
docker compose up -d

常见问题(FAQ)

问题解决方案
如何关闭新用户注册?ALLOW_REGISTRATION=Falsedocker compose restart
更换域名/端口需要迁移数据吗?无需,只要挂载目录不变即可
可以在子路径部署吗?自 v1.0.4 起支持,反向代理到 /note/ 即可
是否支持 ARM 设备?是,官方镜像已支持 ARM64(树莓派 4 可运行)

结语

至此,你已成功部署自托管的加密日记服务 DailyTxT。如有疑问,欢迎留言或访问项目 GitHub