前言
心心念念 Mastodon 将近两年了,昨天终于打起精神,尝试自己部署一个。作为一名十年微博用户,我对社交网络的需求已经逐渐减少,但仍希望有一个干净的、能够自由交流的工具。因此,我决定部署属于自己的 Mastodon 实例。
部署前准备
据我所知,Mastodon 实例对机器性能的要求较高,特别是对内存的需求。考虑这些,决定在 Homelab 部署 Mastodon 实例。但问题依然存在,为了维护双向关系,Mastodon 要求在互联网公开,因此我使用 CloudFlare ZeroTrust Tunnel 将其公开至互联网。
机器我选用了长期吃灰的 昂达 H310SD3-ITX 作为平台,CPU 选用 Intel Pentium G4500T 2c/4t,内存为两条 8G DDR3 AMD 专用条。即使该平台比较老旧,但仍足够胜任一般的 Web 服务器需求。
关于这篇文章
Mastodon 的官方文档对使用纯 Docker 环境部署并不友好。因此,这篇文章主要对 Mastodon 使用 Docker Compose 部署做记录。当然也包括如何安全地将内网服务器暴露至公网。
Mastodon 部署流程
经过摸索后,在集群内使用 Docker compose 起一个 Mastodon 实例仅需两个配置文件+少量部署操作。docker-compose.yml
如下,由官方 Github 仓库中获取并微调。
由于该配置文件直接上了 production
环境,会强制 301 到 HTTPS。在测试环境中需要 Web 服务器反代并做好 SSL 配置。我在本地使用 traefik
作为 Web 服务器。