PassNAT LogoPassNAT

DailyTxT 加密日记装进飞牛 NAS:Docker 部署 + 内网穿透,人在外面也能写

作者

小编

发布时间

Curving abstract shapes with an orange and blue gradient

项目介绍

DailyTxT 是一个自己部署的日记本。左边一个日历,点哪天就写哪天;中间直接写,支持 Markdown,停手一两秒就自动保存,编辑框边上变绿就是存好了。每天还能挂图片和文件、打标签,全文搜索一个词,所有提到它的日子都列出来;设置里的统计页有一张跟 GitHub 那种一样的打卡图,一年写了多少天一眼看完。

它是冲着「私密」去做的:日记和上传的文件,存到盘上都是加密的,密钥跟你的登录密码绑在一起。界面有简体中文,按浏览器语言自动切过去;手机上打开也是自适应的。

它很轻:一个容器、镜像十几兆,没有数据库容器,所有东西都在一个数据文件夹里。

项目地址:点我跳转

部署安装

下面在飞牛 NAS 上用 Docker Compose 装 DailyTxT,装完用 帕斯内网穿透 把它开放到公网,人在外面也能打开写当天的日记。

一、新建 Compose 项目

打开飞牛的「Docker」应用,切到「Compose」标签,点右上角的新增项目。项目名称填 dailytxt,路径在「我的文件」下面挑一个空文件夹,没有就当场新建一个。来源选「创建 docker-compose.yml」,把下面这段整个贴进去。

1services:
2 dailytxt:
3 image: phitux/dailytxt:latest
4 container_name: dailytxt
5 restart: unless-stopped
6 ports:
7 - "3425:80"
8 environment:
9 SECRET_TOKEN: "换成一长串随机字符"
10 ADMIN_PASSWORD: "换成你自己的管理密码"
11 ALLOW_REGISTRATION: "true"
12 volumes:
13 - ./data:/data

这份编排要认四处,从上往下:

端口:冒号左边的 3425 是 NAS 上对外的端口,浏览器访问、建隧道填的都是它;冒号右边的 80 是容器里自己监听的,别改。⚠ 上游示例里写的是 127.0.0.1:8000:80,那样只有 NAS 自己能访问,局域网里别的设备和隧道都连不进来 —— 在 NAS 上要去掉前面的 127.0.0.1。

两个口令位:SECRET_TOKEN 换成一长串随机字符(比如在终端里跑 openssl rand -base64 32 生成一个),它给登录状态签名用;不设的话容器每次重启会随机换一个,所有人都得重新登录。ADMIN_PASSWORD 换成你自己的管理密码,进「设置 → 管理员」要用。编排里这两行现在是占位的中文,照抄的话务必换掉。

注册开关:ALLOW_REGISTRATION 先写 true。第一个账号只能靠它注册 —— 管理面板要先登录才进得去,所以没有「先用管理密码进后台再建用户」这条路。等第一个账号建好,第四步就把它关掉。

数据目录:./data 里是全部数据,日记、上传的文件都在里面,存进去都是加密的。备份就是把这个文件夹拷走。

镜像用 phitux/dailytxt:latest。⚠ 上游 README 里写的 2.x.x 是个占位,要换成具体版本号或者 latest;带 -testing 的是测试版,别用。

勾上「创建项目后立即启动」,点确认。镜像只有十几兆,很快就跑起来了。

二、建隧道并通电

飞牛的「应用中心」里搜 PassNAT,装上这个穿透插件,打开它,点「创建隧道」。隧道名字随便起,接入节点和传输协议留默认,本地 IP 留它默认的 127.0.0.1,本地端口填编排里那个 3425。建好点开详情,按一下电源,状态转成运行中,那一行就是系统分给你的公网地址。

三、隧道一开,先把自己的账号建好

这时候注册还是开着的,谁拿到这个公网地址都能注册、往你盘上传东西。所以隧道一开,第一件事就是用公网地址打开,把自己的账号建好:登录页下面展开「创建账号」,填用户名、两遍密码,点创建账号,看到「注册成功」就去登录。

⚠ 密码跟加密绑在一起,别指望找回密码这回事。登进去之后在设置里点「生成恢复码」,一次给六组,每组能代替密码登录一次,找个地方存好。

四、马上把注册关掉

回到飞牛的 Docker → Compose,先把 dailytxt 这个项目停掉(运行中的项目编排是只读的,改了也存不上),打开它的 YAML 配置,把 ALLOW_REGISTRATION 那一行改成 "false",然后点右上角的「⋯」→ 构建,项目重新跑起来。

再打开公网地址的登录页,展开「创建账号」,会看到一行红字「当前未开放注册!」、输入框都是灰的 —— 这就关上了。之前建的账号照常登录。

以后想给家里人也开个账号:登进去,在「设置 → 管理员」里输管理密码,有个「临时开放注册」,开五分钟,到点自动关,不用再改编排。

五、日常怎么用

写:打开就是今天,中间直接写,支持 Markdown(加粗、标题、列表、引用、链接、图片)。停手就自动存,编辑框边上变绿就是存好了。右边能给这一天打标签、传图片和文件。

翻:左边日历上有标记的就是写过的日子,点开哪天看哪天;顶上那个眼镜图标是阅读模式,一次看一整个月。

找:左下角搜一个词,所有提到它的日子都列出来,点一下跳过去;也能按标签搜。

看:「设置 → 统计数据」里有一整年的打卡图,还有一共写了多少天、多少字。

带走:「设置 → 数据」里能导出成 HTML(连图片一起),也能下载备份。

几点说明

数据就是一个文件夹。 全在 ./data 里,想备份就拷走,想换台机器就把目录挪过去。

不需要任何外部账号或密钥。 两个口令位都是你自己定的,不用去任何地方申请。

多人各记各的。 每个账号有自己的密钥,家里人各用各的账号,互相看不到。