通过 Docker 部署 Mastodon 服务器 的教程

server/2025/2/6 20:00:30/
如何使用Edu邮箱申请Azure订阅并开通免费的VPS

想要免费获得 Azure 的VPS吗?拥有一个Edu邮箱就能让你轻松实现!Edu邮箱不仅可以帮助你申请 Azure 的学生订阅,还能免费使用 Adobe 和 Notion 等软件,让你的学习和工作更加便捷。如果你还没有Edu邮箱,可以参考末尾的衍生参考。

在Azure 100学生订阅中新建一台Ubuntu VPS,并在 Ubuntu 下通过 Docker 部署 Mastodon 服务器

Docker 和 Mastodon 软件简要介绍

Docker 是一个开源容器化平台,可以让开发者将应用程序及其依赖项打包到一个便携的容器中,从而实现跨平台一致的运行环境。Mastodon 是一个去中心化的社交网络平台,类似于 Twitter,但允许用户通过不同的服务器实例进行互联,使其更加开放和自由。

在Ubuntu Linux 下通过 Docker 部署 Mastodon 服务器 的详细教程
  1. 安装 Docker 和 Docker Compose

    首先,我们需要在 Ubuntu VPS 上安装 Docker 和 Docker Compose。

    sudo apt-get update sudo apt-get install -y docker.io sudo systemctl start docker sudo systemctl enable docker sudo usermod -aG docker $USER

    接着,安装 Docker Compose:

    sudo curl -L "https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose sudo chmod +x /usr/local/bin/docker-compose

  2. 克隆 Mastodon 的代码仓库

    使用下面的命令克隆 Mastodon 的代码仓库:

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

  3. 配置环境变量

    在 Mastodon 目录中,复制 .env.production.sample 文件并重命名为 .env.production,然后编辑其中的配置项:

    cp .env.production.sample .env.production nano .env.production

    确保以下配置正确:

    LOCAL_DOMAIN=your.domain.com LOCAL_HTTPS=true DB_HOST=db DB_USER=postgres DB_NAME=postgres DB_PASS=your_db_password REDIS_HOST=redis REDIS_PORT=6379

  4. 创建 Docker Compose 配置文件

    在 Mastodon 目录中创建 docker-compose.yml 文件,并添加以下内容:

    version: '3' services: db: image: postgres:12-alpine environment: POSTGRES_DB: postgres POSTGRES_USER: postgres POSTGRES_PASSWORD: your_db_password volumes: - ./postgres:/var/lib/postgresql/data redis: image: redis:6-alpine volumes: - ./redis:/data web: build: . command: bash -c "RAILS_ENV=production bundle exec rails db:migrate && RAILS_ENV=production bundle exec rails s" env_file: - .env.production ports: - "3000:3000" depends_on: - db - redis volumes: - ./public/system:/mastodon/public/system - ./storage:/mastodon/storage

     
  5. 启动 Mastodon 服务器

    运行以下命令启动 Mastodon 服务器

    docker-compose up -d

    这将启动 PostgreSQL 数据库、Redis 缓存以及 Mastodon 服务。

  6. 访问 Mastodon 服务器

    打开浏览器并访问 http://your.domain.com:3000,你将看到 Mastodon 的欢迎页面。根据页面提示完成初始化配置,即可开始使用 Mastodon 服务器

注册Azure100和edu的衍生参考资料:  s3.tebi.io/notes-image/edu%E7%AC%94%E8%AE%B0.pdf

通过以上步骤,你就可以在 Azure 的 Ubuntu VPS 上通过 Docker 部署并运行 Mastodon 服务器了。祝你在去中心化的社交网络中玩得愉快!


http://www.ppmy.cn/server/165494.html

相关文章

正则表达式详细介绍

目录 正则表达式详细介绍什么是正则表达式?元字符转义字符字符类限定字符字符分枝字符分组懒惰匹配和贪婪匹配零宽断言 正则表达式详细介绍 什么是正则表达式? 正则表达式是一组由字母和符号组成的特殊文本,它可以用来从文本中找出满足你想…

Debian 10 中 Linux 4.19 内核在 x86_64 架构上对中断嵌套的支持情况

一、中断嵌套的定义与原理 中断嵌套是指在一个中断处理程序(ISR)正在执行的过程中,另一个更高优先级的中断请求到来,系统暂停当前中断处理程序,转而处理新的高优先级中断。处理完高优先级中断后,系统返回到原来的中断处理程序继续执行。这种机制允许系统更高效地响应紧急…

Docker快速入门

Docker概述 Docker:用来加速构建分享及运行应用的容器 虚拟机比较笨重,每个虚拟机都需要完整的操作系统 而Docker容器共享宿主机的内核 也就是说Docker容器类似轻量级别的VM 安装Docker www.docker.com sudo yum remove docker \ docker-client \ …

UE求职Demo开发日志#21 背包-仓库-装备栏移动物品

1 创建一个枚举记录来源位置 UENUM(BlueprintType) enum class EMyItemLocation : uint8 {None0,Bag UMETA(DisplayName "Bag"),Armed UMETA(DisplayName "Armed"),WareHouse UMETA(DisplayName "WareHouse"), }; 2 创建一个BagPad和WarePa…

C语言基础系列【3】VSCode使用

前面我们提到过VSCode有多么的好用,本文主要介绍如何使用VSCode编译运行C语言代码。 安装 首先去官网(https://code.visualstudio.com/)下载安装包,点击Download for Windows 获取安装包后,一路点击Next就可以。 配…

精品PPT | 华为企业数据架构、应用架构及技术架构设计方法

这份PPT详细介绍了华为企业数据架构、应用架构及技术架构的设计方法。它涵盖了数据架构的五大原则,包括数据按对象管理、企业全局视角定义数据架构、遵从企业数据分类管理框架、概念实体结构化数字化以及数据服务化同源共享等,旨在确保数据在企业内的一致…

5.5.3 UML概述(一)事物

文章目录 UML构造块-事物 UML UML(Unified Modeling Language)统一建模语言由构造块、构造块放在一起的规则、语言的公共机制组成。构造块由事物、关系和图组成。事物是对代表性部分的抽象。事物由结构事物、行为事物、分组事物和注解事物组成。 构造块-事物 结构事物是UML中的…

JAVA 二维列表的基础操作与异常

在Java中创建二维 ArrayList(即嵌套列表)的方法有多种,下面我将详细介绍常用的几种方式,并分析它们的区别和适用场景。 1. 使用嵌套 ArrayList 创建二维列表 方法一:直接嵌套 ArrayList 这是最常用的方法&#xff0c…