NordBastion 北极熊吉祥物置身于 Nordic 石质大厅,站在地面发光符文圆圈中央,六个青色与柔紫色联合服务器节点球体在半空中环绕排列,青色连接线将它们编织成联合网格
操作指南 · 自托管·阅读 11 分钟 · 实操 90 分钟

在 VPS 上自托管 Mastodon。
联邦宇宙中属于您自己的角落,运行于自有 Nordic 金属之上。

六个步骤,约 90 分钟,联合就绪。Mastodon 4.3+ 的 Docker Compose 部署——维护者推荐路径。

六个步骤
  1. 01

    配置

    Ravelin / Bulwark

  2. 02

    域名

    A + AAAA 记录

  3. 03

    安装

    docker compose

  4. 04

    SMTP

    中继或自建

  5. 05

    TLS + nginx

    certbot

  6. 06

    管理 + 联合

    首篇帖子

第 01-02 步 · 设置

VPS + 域名,两个前期决策。

VPS 套餐。 Ravelin(每月 $23.90,8 vCPU / 16 GB / 480 GB NVMe)是运行联合功能的 Mastodon 实例的实际最低配置。Sidekiq 队列随关注的远程用户数量增长;16 GB RAM 可在关注数百人时保持流畅。若实例拥有 50 名以上用户或 1,000 个以上联合节点,请选用 Bulwark(每月 $46.90,32 GB)。

堡垒。 Mastodon 的联合是全球性的,因此到任何单一堡垒的延迟并不主导。选择你希望数据处于其下的司法管辖区——通常选择 StockholmReykjavík,以便在联邦宇宙关于页面的"托管在哪里"一行具有良好可见性。

域名。 Mastodon 将域名嵌入每个用户名中。随意选择后再更改意味着每个用户都必须迁移。两条匿名注册路径:Njalla(他们以自己的名义注册,你控制账户;加密货币付款,无 KYC),或通过无 KYC 加密货币兑换卡的任何标准注册商。无论哪种方式,为 IPv4 设置 A 记录,为 IPv6 设置 AAAA 记录,均指向 VPS,TXT 记录暂时留空(若以后自托管 SMTP 则添加 DKIM)。

第 03 步 · 安装

Docker Compose,维护者推荐的部署路径。

# Install Docker + Compose
apt install -y docker.io docker-compose-plugin

# Clone Mastodon
adduser --disabled-login mastodon
sudo -u mastodon -i
git clone https://github.com/mastodon/mastodon
cd mastodon
git checkout v4.3.0

# Configure
cp .env.production.sample .env.production
# Edit .env.production: LOCAL_DOMAIN, SECRET_KEY_BASE, OTP_SECRET (generate), 
# SMTP_*, DB_*, REDIS_*

# Initialise DB + start
docker compose run --rm web bundle exec rake db:setup
docker compose up -d

SECRET_KEY_BASE 和 OTP_SECRET 应为长随机字符串——使用 openssl rand -hex 64 生成。上线后切勿重新生成——一旦丢失,所有现有用户将被锁定。

第 04-05 步 · 电子邮件 + TLS

SMTP 中继 + certbot,两个枯燥却必不可少的环节。

SMTP。 Mastodon 发送确认、密码重置和通知邮件。最便宜的可靠路径是 SMTP 中继——Sendinblue / Brevo(免费层 300 封/天)、Mailgun(免费 5K/月)、Postmark。隐私纯粹主义者在同一 VPS 上自托管 postfix 出站中继,但请预期一周的送达率困扰,因为新 IP 邮件会被 Gmail/Outlook 灰名单处理。对于小型实例,SMTP 中继是正确的权衡。

TLS。 安装 certbot(apt install certbot python3-certbot-nginx),然后运行 certbot --nginx -d your-domain.com。Let's Encrypt 在数秒内签发证书;自动续期已默认配置。Mastodon 的 nginx 配置示例在 dist/nginx.conf——复制到 /etc/nginx/sites-available/mastodon,链接到 sites-enabled,重新加载。

访问 https://your-domain.com——Mastodon 设置页面加载。如果显示「无法访问站点」,说明防火墙封锁了 443 端口;如果显示 TLS 错误,说明 certbot 未将 nginx 指向新证书。

第 06 步 · 管理 + 联合

首个管理员、首篇帖子、首次联合。数分钟内完成。

docker compose run --rm web bin/tootctl accounts create \
  admin --email you@example --confirmed --role Owner

该命令返回一次性密码。登录 https://your-domain.com,修改密码,设置 2FA,编辑实例简介页和规则。

在联邦宇宙上关注几个联系广泛的账号(Mastodon 的"探索"标签页会显示)。联合在数分钟内传播——你关注账号的帖子开始出现在你的时间线;当远程用户回关你时,你的帖子会出现在他们的实例上。

置顶一篇规则帖,写一篇"本实例是什么"公告,实例即上线。默认封闭注册;当审核能力允许时再开放。

FAQ · Mastodon

问题,已解答。

首次 Mastodon 管理员在开放实例前提出的八个问题。

为何自托管 Mastodon 而非加入 mastodon.social?

三个原因。(1)您的数据在您的服务器上。大型公共实例由志愿者和善意运营者管理,但数据存放在他们决定的地方。(2)您的规则。您制定社区规则并依此进行内容审核。大型实例继承了您可能不认同的审核决策。(3)您的域名身份。@您@您的域名 传达的是」您,在您自己的服务器上「,而非」您,公共服务 X 的用户」。对于大多数用户加入公共实例即可;对于希望拥有长期身份主权的用户,自托管是唯一路径。

Sentinel 档位真的可以运行 Mastodon 吗?

对于联合功能有限的单用户实例,技术上可行。超过 1-5 个联合账户后,实际上不可行。Mastodon 的 Sidekiq 队列随关注的远程用户数量非线性增长;在 4 GB 内存的服务器上关注 50-100 个账户时,队列延迟将变得明显。Ravelin(每月 $23.90,16 GB RAM)是实际最低配置。拥有 50 名以上用户或 1,000 个以上联合节点的实例请选用 Bulwark。

我在哪里匿名注册域名?

两条可行路径。(1)Njalla 以其名义注册域名并将您列为客户——注册商屏蔽是真实的。他们接受加密货币,无 KYC。(2)通过无 KYC 加密法币兑换使用任何常规注册商——在无 KYC 服务上用 XMR 购买 $15 预付卡,在任何接受信用卡的注册商注册,使用隐私友好的电子邮件。Njalla 路径更简洁但略贵;常规路径更便宜但步骤更多。

Mastodon 的带宽消耗严重吗?

不容忽视,但在真实 VPS 上很少成为制约因素。联合将每篇公开帖子推送到每个关注的远程实例,并乘以媒体(图片、视频)数量。小型单用户实例每月出站约使用 5-10 GB;中等活跃的 50 用户实例使用 100-300 GB;热门的 1,000 用户实例范围在 1-5 TB。NordBastion VPS 方案在每个档位均提供无限带宽,因此这不是成本向量。

我应该关闭注册还是保持开放?

默认使用封闭注册(仅限邀请)。开放注册会立即带来审核负担——垃圾账号、滥用行为以及随之而来的审核工作量。封闭注册是 Mastodon 管理员的默认推荐,也与大多数成功的小型实例的运营方式一致。随着审核能力的增长,可以稍后切换。

如何备份我的 Mastodon 实例?

需要备份三样东西:(1)Postgres 数据库(mastodon_production),(2).env.production 文件(环境配置),(3)public/system/ 中的媒体文件(用户上传——可能很大,数十 GB)。NordBastion VPS 快照一次性覆盖整个磁盘,是最简单的「完整实例」备份;若需细粒度的仅 DB 备份,请定时运行 pg_dump。每次 Mastodon 版本升级前务必先备份。

我可以将用户迁入或迁出我的实例吗?

是——Mastodon 支持双向账户迁移。用户可以从之前的实例导入关注者/关注列表,并宣布迁移到新实例,自动向关注者传播重定向。帖子不迁移(保留在原实例),但社交关系图谱会迁移。这使自托管风险更低:如果您之后决定停止运营实例,您的用户可以迁出而不失去他们的社交网络。

我是否应该通过 Tor 运行 Mastodon 实例?

最佳方案是双重访问——明网主域名加 Tor 隐藏服务镜像。按 /guides/tor-hidden-service-on-a-vps/ 设置隐藏服务,将你的域名和 .onion 均指向同一 nginx,Mastodon 同时服务两者。注意:两个纯 Tor 实例之间的 ActivityPub 联合并不常见,且可能与每种联邦宇宙软件不互通;明网主域名保持联合,.onion 为用户增加隐私访问路径。

就绪

订购 Ravelin 并加入联合。

最后审核 · 2026-05-20 · 已测试 · Mastodon 4.3 · Docker Compose · Debian 12