在 Ubuntu 下通过 Docker 部署 Mastodon 服务器的详细教程

发布于:2025-03-24 ⋅ 阅读:(46) ⋅ 点赞:(0)

引言

Mastodon 是一个开源的社交网络平台,类似于 Twitter,但更注重用户隐私和去中心化。它允许用户在分布式网络中创建和管理自己的社交媒体实例。Docker 是一个开源的容器化平台,使得应用程序的部署和管理变得更加便捷。通过 Docker 部署 Mastodon,可以快速搭建社交网络,确保环境的一致性和可移植性。

本次实验使用的是阿贝云的免费服务器,配置为 1 核 CPU、1G 内存和 5M 带宽。在测试过程中,这一配置能够满足基本的 Mastodon 功能需求,还算适合初步探索和学习。

部署步骤

1. 安装 Docker 和 Docker Compose

首先,确保你的系统是最新的,并安装 Docker 和 Docker Compose:

sudo apt update
sudo apt install -y docker.io docker-compose

启用 Docker 服务并设置为开机启动:

sudo systemctl start docker
sudo systemctl enable docker

2. 下载 Mastodon 代码

克隆 Mastodon 的 GitHub 仓库到本地:

git clone https://github.com/mastodon/mastodon.git
cd mastodon

3. 配置环境变量

复制示例环境配置文件并进行修改:

cp .env.production.sample .env.production

编辑 .env.production 文件,配置数据库和邮件服务等信息。例如:

DB_HOST=db
DB_USER=postgres
DB_PASS=your_password
REDIS_HOST=redis

4. 创建 Docker Compose 文件

mastodon 目录下创建 docker-compose.yml 文件,内容如下:

version: '3'
services:
  web:
    image: tootsuite/mastodon
    environment:
      - DB_HOST=db
      - DB_USER=postgres
      - DB_PASS=your_password
      - REDIS_HOST=redis
    ports:
      - "3000:3000"
  
  db:
    image: postgres:latest
    environment:
      - POSTGRES_USER=postgres
      - POSTGRES_PASSWORD=your_password

  redis:
    image: redis:latest

5. 启动 Mastodon 服务器

使用 Docker Compose 启动服务:

sudo docker-compose up -d

6. 数据库迁移

在启动后,运行数据库迁移命令:

sudo docker-compose run web bundle exec rails db:migrate

7. 访问 Mastodon

在浏览器中访问 http://your_server_ip:3000,即可看到 Mastodon 的欢迎界面。

总结

通过以上步骤,您可以在 Ubuntu 下使用 Docker 部署 Mastodon 社交网络服务器。虽然在低配置服务器上运行可能会有性能限制,但对于学习和小型实例来说,这种方式非常有效。希望这篇技术博客能帮助您顺利搭建自己的 Mastodon 服务器。