Featured image of post 我把树莓派放在路由器架上,开始折腾‘家庭云’

我把树莓派放在路由器架上,开始折腾‘家庭云’

从搬网线开始,一步步搭建属于自己的后端平台 —— 家庭云正式开工

“这玩意儿能跑那么多服务?”我老婆看着我把树莓派固定到路由器架上,语气像在看我种下一颗辣椒树,说想靠它过冬。

这一次,我是真的打算用这台小小的树莓派,搭建一个完整的自托管平台 —— 从 Git 仓库、CI/CD流水线,到博客部署、远程访问,全都在这个手掌大的设备上完成。

这篇文章,就记录了我的第一步动作:让树莓派“上线办公”。


🧷 Step 1:重新布置家里的网络

在我开始折腾之前,家里的网络结构长这样:

  • 路由器在客厅
  • 树莓派在书桌上,用 Wi-Fi 连网
  • 我的 MacBook 拖着一堆 Docker 容器嗷嗷叫

我担心树莓派离路由器太远Wi-Fi不稳定, 所以第一步就是把树莓派搬到路由器架子上:

✅ 用网线直连路由器
✅ 配一个稳定的局域网 IP ✅ 插上散热风扇,固定在一个不起眼的角落
✅ 贴上标签 —— “请勿拔电” 😎

从此它变成了“家里的后台服务器”。


🐳 Step 2:安装 Docker 和 Portainer

虽然树莓派性能有限,但运行一些轻量服务还是没问题的。

我采用 Ubuntu Server 作为系统,在终端中执行了最标准的 Docker 安装流程:

1
2
curl -fsSL https://get.docker.com | sh
sudo usermod -aG docker $USER

然后重启一次,确认 docker info 一切正常。

为了更方便管理,我还拉了一个 Portainer:

1
2
3
4
5
6
7
8
docker volume create portainer_data

docker run -d \
  --name=portainer \
  -p 9000:9000 \
  -v /var/run/docker.sock:/var/run/docker.sock \
  -v portainer_data:/data \
  portainer/portainer-ce:latest

打开浏览器,访问 http://<树莓派IP>:9000,熟悉的界面就来了。

这个时候,我已经可以通过浏览器管理容器,开始部署服务了。


🧑‍💻 Step 3:部署 Gitea 和 Drone

我决定把 代码仓库 和 CI/CD 也跑在树莓派上。

先拉起 Gitea,一个轻量的 Git 仓库服务:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
services:
  server:
    image: docker.gitea.com/gitea:1.24.2
    container_name: gitea
    environment:
      - USER_UID=1000
      - USER_GID=1000
      - GITEA__webhook__ALLOWED_HOST_LIST = *
    restart: always
    networks:
      - gitea
    volumes:
      - ./data:/data
      - /etc/timezone:/etc/timezone:ro
      - /etc/localtime:/etc/localtime:ro
    ports:
      - "3000:3000"
      - "222:22"

进入页面后快速注册、设置仓库,就可以用来托管 Hugo 博客源码了。

接下来是 Drone,部署起来稍复杂一点,需要:

  • 创建 Gitea 的 OAuth 应用
  • 设置 webhook 回调地址
  • 启动 Drone 服务端 + runner

这一部分比较关键,我会在下一篇文章详细展开(踩了不少坑)。


🧪 最小可用家庭云 V0.1

截至目前,我的树莓派已经完成了:

✅ 局域网内部署好 Git 仓库
✅ 管理平台 Portainer 启动
✅ Docker 工作流跑通
✅ Drone 初步安装成功,准备下一步集成 CI/CD

它还没有博客,也没有外网访问,但“云平台的雏形”已经初现。

我在小本上写下目标清单,打了第一个对号:“树莓派上线” ✅


📌 下一篇预告

下一篇我会详细讲讲 如何让 Gitea 和 Drone 实现自动构建

咱们下篇见 👋

使用 Hugo 构建
主题 StackJimmy 设计