MENU

使用 Docker 部署Typecho+Pgsql,让你的软路由焕发新生!

• March 23, 2026 • 科技阅读设置

前言

这几个月 AI 大模型的迅猛发展真的是直接大洗牌了整个云服务产业啊,国内暂时没看到什么动静,国外的云服务可是不得了,该涨价的涨价,该停售的停售,OVH/Hetzner 的价格都有大幅度的上调,就连在2月底的 Deals 声称将尽可能维持原有性价比的 Netcup 也在近期宣布涨价,平均涨幅超过 13% ,这无疑对各位个人站长的建站资金产生巨大的压力。

本人也是没有大量资金投入互联网建站,在想办法节约成本的同时突然想到自己宿舍还有一台 EasePi A2 的软路由,搭配 iStore OS 近期开始内测的 iStore OS Next 基于 Arabian 内核,可以爽玩 Docker ,于是决定将所有的网站服务都迁移到宿舍的这台软路由中,称其为“宿舍云”,好奇的话,你可以查看我的探针,在部署 Typecho 的时候也折腾了一小阵,于是便决定顺便记录一下,方便各位其他有想法的朋友使用。

正文

前提条件

  • 你需要一个可以正常使用Docker Compose的主机
  • 你有一丢丢的运维经验
  • 你会使用文本编辑器
  • 你已经知道如何正确使用反向代理

Compose文件

你可以在你想要的地方新建一个文件夹,将以下内容命名为 docker-compose.yml 文件进行保存:

services:
  # PostgreSQL 数据库容器
  pgsql-db:
    image: postgres:15-alpine
    container_name: typecho-pgsql
    restart: always
    environment:
      POSTGRES_DB: typecho_db # 你的 pg 数据库名称
      POSTGRES_USER: typecho_user # 你的 pg 数据库账号
      POSTGRES_PASSWORD: your_db_password # 请更改为更安全的密码
    volumes:
      - ./pgsql_data:/var/lib/postgresql/data

  # Typecho 应用程序容器
  typecho-server:
    image: joyqi/typecho:nightly-php8.2-apache # 个人使用的是基于 PHP8.2 的镜像,如果你需要 7.4 版本的直接更改就行
    container_name: typecho-server
    restart: always
    ports:
      - "8080:80" # 将主机的 8080 端口映射到容器的 80 端口(可以根据自己需要修改为除了 8080 之外的端口)
    depends_on:
      - pgsql-db
    environment:
      TYPECHO_SITE_URL: http://localhost:8080 # 必填:请修改为你的实际域名或 IP(如使用反向代理请填写实际使用的网址)
    volumes:
      - ./typecho_usr_data:/app # 持久化保存 Typecho 的文件数据

(记得把文件中需要修改的内容修改为自己需要的)

部署流程

完成 Compose 文件的准备之后你就可以开始运行你的 Compose 了,终端切换到所在目录后执行:

docker compose up -d

截屏2026-03-22 23.48.54观察命令行,等待 Typecho 的 Compose 启动完成后部署好你自己的反向代理,反向到刚刚 compose 文件中暴露的那个端口,完成后打开浏览器,输入对应地址完成安装程序:

Typecho-安装程序-03-22-2026_11_54_PM (1)(1)

✅到此,你就完成了 Typecho 的部署流程,你已经拥有了一个部署在你的软路由上的个人 Typecho 博客!

怎么上传修改主题和插件等等?

在你 Compose 文件的同目录下,你会发现多出了一个名为 typecho_usr_data 的文件夹,打开后你就会发现里面的文件与目录结构与你正常部署 Typecho 的程序文件与目录结构相同,所以直接按照你正常部署 Typecho 的操作即可,修改后即时生效,无需其他操作。

截屏2026-03-23 00.02.56

(如果你不会 Typecho 插件和主题等的基础操作,你可以翻阅其他文章,这不是本篇文章的重点,不再赘述)

我该如何备份迁移我的博客?

正常备份你可以直接使用任意方式打包 Compose 配置文件所在的整个文件夹即可,无需其他操作。

如果你需要迁移,请按以下步骤操作:

  1. 终止 Compose ,防止文件损坏和丢失 :

    docker compose down
  2. 打包迁移 Compose 配置文件所在的整个文件夹到新目标上。
  3. 运行下方指令重启 Compose :

    docker compose up -d
  4. 重新配置反向代理等个性化设置,完成。

尾声

我的博客目前就使用这套方案运行,极大降低建站成本,若有相关问题,欢迎在评论区进行交流,我们再见!👋

Archives QR Code Tip
QR Code for this page
Tipping QR Code