极空间 NAS 部署 Typecho:从 Docker 安装、主题配置到固定公网访问
前言
我一直觉得,真正适合长期写东西的博客,不一定要功能特别多,但至少要满足三件事:文章归自己管理、后台不难用、想换主题和继续折腾时还有余地。极空间 NAS 本来就长期在线,如果只是为了搭一个个人博客,再单独准备一台服务器反而显得有些重。Typecho 的定位正好比较合适:程序轻、后台简单,对 Markdown 也友好,用 Docker 放到 NAS 上以后,日常写文章和维护都不需要太复杂的流程。尤其对已经习惯 Markdown 的人来说,最大的价值不是"多了一个建站项目",而是终于有一个可以长期沉淀内容、又不需要天天维护的发布入口。
这次我直接在极空间的 Docker 图形界面里完成 Typecho 部署,创建 typecho 文件夹,配置目录、端口,并把 PUID、PGID 都设为 0;随后用浏览器完成初始化、登录后台、切换主题、写文章和预览发布。局域网确认可用以后,再安装 cpolar,把博客页面映射到公网,先验证随机地址,最后换成固定二级子域名 typecho。我更在意的是"这套博客以后是不是愿意一直用",所以不会把页面能打开就写成全部完成:本地端口、外网入口、主题和发布流程都要分别跑通,真正用起来顺手才算有意义。

1. 为什么我会把 Typecho 放到极空间 NAS 上?
对已经有 NAS 的人来说,博客最方便的状态不是"功能最全",而是随时能打开后台、写完就发,文件和运行环境都在自己手里。
Typecho 比较适合这类场景:
- 想搭一个个人博客或文字站点;
- 不需要特别复杂的后台;
- 希望自己保存博客数据和站点文件;
- 平时习惯 Markdown 写作;
- NAS 已经长期在线,不想再额外准备服务器。
这里我更愿意把 Typecho 看成一个轻量博客程序,而不是去强调"完全自由"或"绝对私有"。真正能不能长期稳定使用,还取决于 NAS、Docker、存储和公网访问这些基础条件。
2. 在极空间里准备 Typecho 容器
打开极空间的 Docker,在镜像仓库中搜索并下载当前教程使用的同名镜像 typtcho。


接着打开【个人空间】,进入 Docker 文件目录,新建:
typecho
文件夹。

这个目录后面用来承接容器相关文件。
3. 用极空间图形界面完成容器配置
回到【本地镜像】,找到 Typecho 镜像并双击开始部署。
当前流程首先取消勾选性能限制。

然后添加文件夹路径。

端口只要选择当前设备上没有冲突的即可。

接着把两个环境变量设置为:
PUID=0PGID=0
然后点击【应用】。

这次没有使用命令行部署,整个过程都在极空间 Docker 图形界面中完成。
4. 先确认 Typecho 本地页面能打开
容器部署完成以后,当前示例使用:
http://极空间IP:8021
访问 Typecho。

页面能正常打开以后,再继续初始化。
这里不急着做公网访问,因为本地页面如果还没有跑通,后面增加穿透只会让排查变得更复杂。
5. 完成 Typecho 初始化
进入页面以后,先点击【下一步】。

当前初始化流程里,主要设置:
- 用户名;
- 登录密码;
- 邮件地址。
其他项目保持默认。
设置完成以后点击:
【确认,开始安装】

页面显示安装成功。

这次操作页面没有单独展示数据库创建和数据库连接参数,所以这里不额外补充没有出现的数据库配置步骤,只按当前实际初始化流程继续。
6. 登录博客后台
初始化完成以后,再次通过:
极空间 IP:端口号
打开博客首页。
默认主页比较简单。

点击登录。


然后进入后台并点击【开始使用】。

到这里,Typecho 才真正进入可管理状态。
7. 换主题,把博客先调整成自己愿意看的样子
进入【更改外观】。

可以选择自己喜欢的主题并启用。

启用后,首页会随主题发生变化。

还可以继续按照自己的偏好调整。

对我来说,个人博客最重要的不是一开始就装很多插件,而是先把最基础的写作和阅读体验调顺。主题够舒服、后台够直接,才更容易坚持写。
8. 实际写一篇文章
进入撰写页面,新建文章。

写完以后先预览。

确认没有问题再发布。
Typecho 对 Markdown 的支持也比较适合我的习惯。平时已经用 Markdown 写文章的话,可以直接把内容整理后放进编辑器,不需要为了博客再换一套完全不同的写作方式。
到这里,这次本地博客的核心流程已经跑通:
极空间 Docker → Typecho → 初始化 → 登录后台 → 主题 → Markdown 写作 → 预览 → 发布。
9. 本地博客能用了,再考虑公网访问
如果博客只准备自己在家里访问,到这里已经可以用了。
但如果希望朋友在外网也能打开,或者自己出门后仍然能进后台发文章,就需要再增加公网入口。
这里 cpolar 的职责比较清楚:
只把 Typecho 当前的 Web 服务提供到公网。
Typecho 仍然负责博客页面、后台、主题和文章内容,cpolar 不负责博客业务本身。
10. 在设备上安装 cpolar
执行当前安装命令:
shell
sudo curl https://get.cpolar.sh | sh

安装完成以后检查服务状态:
shell
sudo systemctl status cpolar

服务正常以后,通过主机 IP + 9200 打开 cpolar Web 管理页面。
当前页面同时写到:
http://ip:9200
以及链接目标:
http://localhost:9200/
实际访问时,以当前环境真正可以打开的地址为准。

11. 先创建随机公网地址
进入【隧道管理 → 创建隧道】。
当前配置是:
- 隧道名称:
typecho - 协议:
http - 本地地址:
8099 - 域名类型:随机域名
- 地区:
China Top

这里需要特别留意一个现有参数差异:
前面本地浏览器示例访问的是:
http://极空间IP:8021
而这里 cpolar 的本地地址配置成了:
8099
两处端口并不一致。当前流程仍按这两个记录保留,实际复现时应该以自己 Typecho 容器真实映射出来的宿主机端口为准,不要直接把两个数字混用。
创建完成以后,进入在线隧道列表查看公网地址。

使用生成的地址访问。

页面能够打开,说明当前公网链路可用。
12. 长期使用再配置固定二级子域名
随机地址适合先做连接验证。
如果博客准备长期使用,固定地址会更方便。
进入预留页面。

选择保留二级子域名。
当前记录为:
- 地区:
china Top - 二级子域名:
typecho
登录cpolar web UI管理界面,点击左侧仪表盘的隧道管理------隧道列表,找到所要配置的隧道,点击右侧的编辑。
然后回到 cpolar Web UI 的【隧道管理 → 隧道列表】,找到需要配置的隧道并点击【编辑】。

把配置改成:
- 域名类型:二级子域名;
Sub Domain:填写已经保留的二级子域名;- 地区:
China Top。
点击【更新】。

更新以后,在线隧道列表中的随机公网地址会变成固定二级子域名。

最后使用固定公网地址从其他设备访问。

博客页面可以正常打开。
总结
这次我更愿意把极空间 + Typecho 看成一个"低维护成本的个人写作入口",而不是去追求多复杂的网站架构。NAS 已经长期在线,Typecho 负责文章和后台,主题负责页面风格,再补一个公网入口,基本就能形成一套够用的个人博客环境。
这次实际走通的主线是:
极空间 Docker → Typecho → PUID=0 / PGID=0 → 本地访问 → 初始化 → 后台登录 → 主题 → Markdown 写作 → cpolar → 随机公网 → 固定二级子域名 typecho。
有两个细节需要继续记住:
- 当前初始化页面没有单独展示数据库创建步骤,不额外补写;
- 本地访问示例使用
8021,而 cpolar 隧道填写的是8099,两者存在端口差异,实际部署时要以自己的容器映射端口为准。
如果本来就有一台极空间 NAS,又希望文章、主题和后台都掌握在自己的环境里,这套方案的优势就在于步骤不复杂,后续也还能继续慢慢改主题、加内容,而不需要一开始就把博客做成一个大工程。