拥有你的笔记:使用 Docker 自托管 Memos 并通过 Pinggy 实现安全访问
Source: Dev.to
请提供您希望翻译的完整文本(除代码块、URL 和 Markdown 语法之外的内容),我将为您翻译成简体中文并保留原有的格式。谢谢!
介绍
记笔记的应用随处可见。它们快速、界面精致且使用便利,但往往伴随着一些不太明显的妥协:每月付费、导出受限,以及你的私人想法存放在他人服务器上的不安感。对许多人来说,笔记不仅仅是提醒——它们是想法、计划、研究以及私人反思。自托管可以让你重新掌控数据,同时保持使用的简便。
本指南将演示一种实用的方法,使用 Memos,通过 Docker 容器化部署,并借助 Pinggy 实现随时随地的访问。
为什么自行托管?
- 数据所有权 – 您的笔记保留在本机或服务器上。
- 备份控制 – 您决定如何以及在哪里备份数据。
- 隐私 – 敏感信息永不离开您可信的环境。
- 灵活性 – 可自行选择认证、扩展和网络选项。
关于 Memos
Memos 是一个极简的开源笔记服务,围绕快速捕获和所有权设计。它将笔记存储为纯文本 Markdown 文件,使其可读且可移植。底层使用 Go 后端、现代 Web 前端,默认使用简易的 SQLite 数据库(也支持 MySQL 和 PostgreSQL)。
亮点
- 原生 Markdown 支持。
- 简洁、类似笔记本的 UI。
- 部署简便——一条 Docker 命令即可启动。
前置条件
- 系统已安装 Docker。
Docker 安装
- Windows / macOS – 从官方 Docker 网站安装 Docker Desktop。
- Ubuntu / Debian – 运行:
sudo apt update
sudo apt install docker.io docker-compose
sudo systemctl enable docker --now
sudo usermod -aG docker $USER
将自己添加到 docker 组后,注销并重新登录。
Source: …
使用 Docker 运行 Memos
单条 docker run 命令即可让 Memos 启动并运行。
docker run -d \
--name memos \
-p 5230:5230 \
-v ~/.memos:/var/opt/memos \
neosmemo/memos:stable
- 容器将在后台运行。
- 机器上的 5230 端口映射到容器内的应用。
验证容器是否在运行:
docker ps
然后打开浏览器访问 http://localhost:5230。
使用 Docker Compose(可选)
如果你想要更结构化的部署方式,可以创建 docker-compose.yml 文件:
version: '3.8'
services:
memos:
image: neosmemo/memos:stable
container_name: memos
ports:
- "5230:5230"
volumes:
- ./memos-data:/var/opt/memos
restart: unless-stopped
启动服务:
docker compose up -d
Docker Compose 使后续的更新和配置更改更易于管理。
首次启动
当您首次打开 Memos 时,系统会提示您创建管理员账户。请选择一个强密码——它能保护您所有的笔记。
界面刻意保持简洁:
- 顶部的文本框始终准备好接受新笔记。
- 笔记以简洁的时间线形式呈现,没有强制性的文件夹或复杂层级。
示例第一条笔记:
# My First Self‑Hosted Memo
This is my personal note‑taking system running on my own hardware.
- No subscriptions
- Full privacy
- Complete data control
#selfhosted #notes
标签、搜索和 Markdown 格式开箱即用。
Remote Access with Pinggy
在本地运行 Memos 很有用,但你经常需要在手机或另一台笔记本电脑上访问。Pinggy 创建了一个安全的 SSH 隧道,将你的本地服务暴露到互联网,而无需更改防火墙规则或路由器设置。
打开一个新的终端并运行:
ssh -p 443 -R0:localhost:5230 -t free.pinggy.io
你将收到类似以下的公共 URL:
https://randomstring.a.pinggy.link
在浏览器中打开此链接,即可从任何地方访问你的 Memos 实例。
Adding HTTP Basic Authentication
要添加额外的安全层,Pinggy 支持 HTTP 基本认证:
ssh -p 443 -R0:localhost:5230 -t free.pinggy.io "b:username:password"
将 username 和 password 替换为你自己的值。任何打开该链接的人都需要进行身份验证,才能进入 Memos 登录页面。
Note: 在免费套餐下,公共 URL 会在每次隧道重启时更改。持久子域名在付费套餐中提供。
Conclusion
自行托管笔记应用并不一定要复杂或耗时。使用 Memos,您可以获得快速、体贴的笔记体验,且不会打扰您。Docker 让部署保持干净且可重复,而 Pinggy 则消除了让远程访问望而却步的网络障碍。
结果是一个个人系统,您的想法随您掌控——按照您的条件,没有持续费用或隐藏的权衡。如果您重视隐私、简洁和控制,这套方案是一个坚实的起点。