PassNAT LogoPassNAT

Markopolis自托管Markdown笔记发布平台,完全开源无限制,NAS极简部署即可用,支持内网穿透远程访问

作者

小编

发布时间

Curving abstract shapes with an orange and blue gradient

Markopolis - 自托管的 Markdown 笔记发布平台

项目介绍

Markopolis 是一个强大的自托管 Markdown 笔记发布平台,它让你能够轻松将个人笔记转化为精美的在线网站。这是一个完全开源的解决方案,相当于自托管版本的 Obsidian Publish,但功能更加强大灵活。

项目采用现代化技术栈构建,支持完整的 REST API 接口,让你可以随意扩展功能。无论你是想要发布个人知识库、技术博客,还是搭建文档中心,Markopolis 都能满足你的需求。它具有即时渲染、全文搜索、深色/浅色主题切换等丰富功能,同时保持极低的维护成本。

最重要的是,你拥有对所有数据的完全控制权,不受任何第三方平台的限制。

项目地址:点我跳转

部署安装

若需在外网访问你的 Markopolis 实例,建议配置内网穿透服务。推荐使用 帕斯内网穿透,注册账号后即可使用。详细的配置步骤可参考 帕斯内网穿透全平台快速入门指南

第一步:部署服务器

打开你的 NAS 设备或服务器,使用 Docker 来部署 Markopolis 是最快速的方式。

复制下列的 docker-compose 配置文件:

1version: '3.8'
2
3services:
4 markopolis:
5 image: ghcr.io/rishikanthc/markopolis:latest
6 ports:
7 - "8080:8080"
8 - "3000:3000"
9 environment:
10 - POCKETBASE_URL=http://127.0.0.1:8080
11 - API_KEY=test
12 - POCKETBASE_ADMIN_EMAIL=admin@admin.com
13 - POCKETBASE_ADMIN_PASSWORD=password
14 - TITLE=Markopolis
15 - CAP1=caption1
16 - CAP2=caption2
17 - CAP3=caption3
18 volumes:
19 - ./pb_data:/app/db


打开飞牛 NAS 或其他 NAS 设备,进入 Docker 管理界面,选择'本地镜像'→'添加镜像'→'从 URL 添加'。

在镜像地址栏填入:ghcr.io/rishikanthc/markopolis:latest

等待镜像下载完成后,点击启动按钮启动容器。

环境变量配置说明

必须设置的环境变量:

API_KEY:API 访问密钥,用于保护 API 端点的安全。请设置一个强密码,不要使用默认值 'test'

POCKETBASE_ADMIN_EMAIL:数据库管理员邮箱,用于后台管理账户登录

POCKETBASE_ADMIN_PASSWORD:数据库管理员密码,请设置安全的密码

可选设置的环境变量:

TITLE:网站标题,默认为 'Markopolis'

CAP1、CAP2、CAP3:网站副标题/描述文字,可根据需要自定义

POCKETBASE_URL:不要修改此项,保持为 http://127.0.0.1:8080

端口映射说明

容器暴露两个端口:

3000:前端 Web 应用访问端口

8080:PocketBase 数据库服务端口

如果你的系统中这些端口已被占用,可以修改映射配置。例如,若要改为 80009000,修改为:

1ports:
2 - "8000:3000"
3 - "9000:8080"


数据持久化

配置文件中的 ./pb_data:/app/db 用于存储数据库文件。请确保在运行容器前创建 pb_data 文件夹,以便容器能够正确挂载并持久化你的笔记数据。

启动容器

在 NAS 界面中,勾选'开机自动启动'选项,然后点击'启动'按钮。

容器启动成功后,你可以通过浏览器访问 http://你的设备IP:3000 来打开 Markopolis 平台。

第二步:安装 CLI 工具(可选)

如果你想要从本地上传 Markdown 笔记到服务器,需要在本地安装 Markopolis 的 CLI 工具。

首先确保你的系统已安装 Python 3.12 或更高版本。

使用 pip 安装 CLI 工具:

1pip install markopolis


然后配置环境变量指向你的 Markopolis 服务器:

对于 bash/zsh:

1export MARKOPOLIS_DOMAIN=https://你的域名或IP:3000
2export MARKOPOLIS_API=你的API_KEY


永久保存配置(bash):

1echo 'export MARKOPOLIS_DOMAIN=https://你的域名或IP:3000' >> ~/.bashrc
2echo 'export MARKOPOLIS_API=你的API_KEY' >> ~/.bashrc
3source ~/.bashrc


配置完成后,你就可以使用 CLI 命令来发布你的笔记了。

总结

Markopolis 提供了一个简单易用的自托管解决方案,让你能够完全掌控自己的笔记发布平台。通过 Docker 的支持,部署过程变得异常简单,即使是技术小白也能轻松上手。无论是个人知识管理还是团队文档共享,Markopolis 都是一个值得尝试的选择。

本篇教程到此结束,祝你使用愉快!