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

news/2025/2/3 17:38:44 标签: docker, 服务器, 容器
如何使用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.niftyadmin.cn/n/5840963.html

相关文章

大模型-CLIP 详细介绍

CLIP简介 CLIP(Contrastive Language–Image Pre-training)是由OpenAI在2021年提出的一种多模态机器学习模型。它旨在通过大量的文本-图像对进行训练,从而学会理解图像内容,并能将这些内容与相应的自然语言描述相匹配。CLIP的核心…

软件工程概论试题六

接试题五 一、单选 11.采用敏捷方法开发系统时,在软件维护阶段会存在的一些问题,下列描述中哪个是错误的()。 A.开发团队的延续性 B. 缺少灵活性 C.保持客户参与 D 缺少产品文档 正答:B 12.(单选题,4.0 分) 容易分块的大型软件开发&#xf…

【周易哲学】生辰八字入门讲解(八)

😊你好,我是小航,一个正在变秃、变强的文艺倾年。 🔔本文讲解【周易哲学】生辰八字入门讲解,期待与你一同探索、学习、进步,一起卷起来叭! 目录 一、六亲女命六亲星六亲宫位相互关系 男命六亲星…

建表注意事项(2):表约束,主键自增,序列[oracle]

没有明确写明数据库时,默认基于oracle 约束的分类 用于确保数据的完整性和一致性。约束可以分为 表级约束 和 列级约束,区别在于定义的位置和作用范围 复合主键约束: 主键约束中有2个或以上的字段 复合主键的列顺序会影响索引的使用,需谨慎设计 添加…

让banner.txt可以自动读取项目版本

文章目录 1.sunrays-dependencies1.配置插件2.pluginManagement统一指定版本 2.common-log4j2-starter1.banner.txt使用$ 符号取出2.查看效果 1.sunrays-dependencies 1.配置插件 <!-- 为了让banner.txt自动获取版本号 --><plugin><groupId>org.apache.mave…

Linux的循环,bash的循环

Linux的循环,bash的循环 在 Linux 系统中&#xff0c;Bash 循环是最常用的循环实现方式&#xff08;Bash 是 Linux 默认的 Shell&#xff09;&#xff0c;但广义上“Linux 的循环”可能涉及其他 Shell 或编程语言的循环结构。以下是 Bash 循环的详细解析及其在 Linux 环境中的…

【高级篇 / IPv6】(7.6) ❀ 03. 宽带IPv6 - ADSL拨号宽带上网配置 ❀ FortiGate 防火墙

【简介】大部分ADSL拨号宽带都支持IPv6&#xff0c;这里以ADSL拨号宽带为例&#xff0c;演示在FortiGate防火墙上的配置方法。 准备工作 同上篇文章一样&#xff0c;为了兼顾不熟悉FortiGate防火墙的朋友&#xff0c;我们从基础操作进行演示&#xff0c;熟练的朋友可以跳过这一…

DeepSeek R1本地化部署 Ollama + Chatbox 打造最强 AI 工具

&#x1f308; 个人主页&#xff1a;Zfox_ &#x1f525; 系列专栏&#xff1a;Linux 目录 一&#xff1a;&#x1f525; Ollama &#x1f98b; 下载 Ollama&#x1f98b; 选择模型&#x1f98b; 运行模型&#x1f98b; 使用 && 测试 二&#xff1a;&#x1f525; Chat…