极空间 NAS 部署 Typecho:从 Docker 安装、主题配置到固定公网访问

极空间 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=0
  • PGID=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,又希望文章、主题和后台都掌握在自己的环境里,这套方案的优势就在于步骤不复杂,后续也还能继续慢慢改主题、加内容,而不需要一开始就把博客做成一个大工程。

相关推荐
To_OC4 小时前
从一头雾水到跑通全流程:我用一个周末啃透了JWT登录鉴权
前端·后端·http
前端兰博5 小时前
05-Redis
redis·后端
databook5 小时前
从手动检查到自动监控:一个数据质量工作流的实现
后端·python·数据分析
【JAVA】玩家6 小时前
Spring核心原理全解析:从零到生产实战
java·后端·spring
东风破_6 小时前
从 Neo4j 到 GraphRAG:用 Text-to-Cypher 构建图检索 RAG
人工智能·后端
llqbzllll8 小时前
Spring AI 工具调用不是反射一下就结束:用 2.0.1 跑通失败恢复与调用上限
人工智能·后端
狼爷8 小时前
Rust/Go/Java/Python/PHP 大比拼:负载下后端框架到底差多少?
java·后端·编程语言
mantou1329 小时前
我给 AI Agent 做了个「油猴」:让 Claude Code / Codex 直接用你已登录的浏览器
前端·javascript·后端
程序员老赵9 小时前
Docker 部署 DeepSeek Harness:轻松搭建局域网里的 AI Agent 平台
后端·ai编程·deepseek
YIAN9 小时前
实战|用 DeepSeek + SQLite 从零搭建轻量 Text2SQL 查询助手
后端·sqlite·deepseek