拥有你的笔记:使用 Docker 自托管 Memos 并通过 Pinggy 实现安全访问

发布: (2026年1月5日 GMT+8 17:55)
6 min read
原文: Dev.to

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"

usernamepassword 替换为你自己的值。任何打开该链接的人都需要进行身份验证,才能进入 Memos 登录页面。

Note: 在免费套餐下,公共 URL 会在每次隧道重启时更改。持久子域名在付费套餐中提供。

Conclusion

自行托管笔记应用并不一定要复杂或耗时。使用 Memos,您可以获得快速、体贴的笔记体验,且不会打扰您。Docker 让部署保持干净且可重复,而 Pinggy 则消除了让远程访问望而却步的网络障碍。

结果是一个个人系统,您的想法随您掌控——按照您的条件,没有持续费用或隐藏的权衡。如果您重视隐私、简洁和控制,这套方案是一个坚实的起点。

Back to Blog

相关文章

阅读更多 »

RGB LED 支线任务 💡

markdown !Jennifer Davishttps://media2.dev.to/dynamic/image/width=50,height=50,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%...

Mendex:我为何构建

介绍 大家好。今天我想分享一下我是谁、我在构建什么以及为什么。 早期职业生涯与倦怠 我在 17 年前开始我的 developer 生涯……