hexo/source/_posts/使用Docker快速部署mastodon实例.md

80 lines
2.1 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

---
title: 使用Docker快速部署mastodon实例
tags: mastodon
categories: 分享
abbrlink: ebf565b6
excerpt: >-
ai: 这篇文章介绍了如何使用Docker快速部署Mastodon实例的详细步骤包括创建和进入目录、拉取镜像、修改Docker
Compose配置文件、初始化PostgreSQL数据库、配置Mastodon及其环境变量文件、启动Mastodon服务器并进行最后的管理员创建等操作。
date: 2023-10-30 11:12:43
cover:
---
## 如何使用Docker快速部署mastodon实例
直接使用docker compose部署是不可行的,需要按照步骤进行
### 创建目录
```
mkdir -p /home/mastodon/mastodon
```
### 进入目录
```
cd /home/mastodon/mastodon
```
### 拉取镜像
```
docker pull ghcr.io/mastodon/mastodon
```
### 修改docker compose配置文件
```
wget https://raw.githubusercontent.com/mastodon/mastodon/main/docker-compose.yml
```
修改`docker compose`文件中的版本号
### 初始化PostgreSQL
- 重要!!!!!
```
docker run --name postgres14 -v /home/mastodon/mastodon/postgres14:/var/lib/postgresql/data -e POSTGRES_PASSWORD=设置数据库管理员密码 --rm -d postgres:14-alpine
```
进入数据库
```
docker exec -it postgres14 psql -U postgres
```
创建用户名mastodon的密码
```
CREATE USER mastodon WITH PASSWORD '数据库密码(最好和数据库管理员密码不一样)' CREATEDB;
```
停止docker
```
docker stop postgres14
```
### 配置Mastodon
在`/home/mastodon/mastodon`根文件夹中创建空白`.env.production`文件
```
cd /home/mastodon/mastodon
touch .env.production
```
运行引导
```
docker-compose run --rm web bundle exec rake mastodon:setup
```
按照提示进行操作
`Below is your configuration, save it to an .env.production file outside Docker:`之后会出现配置文件的数据,复制下来
写入`.env.production`中
启动Mastodon
```
docker-compose down
docker-compose up -d
```
文件夹赋权
```
chown 991:991 -R ./public
chown -R 70:70 ./postgres14
docker-compose down
docker-compose up -d
```
创建管理员
```
docker exec mastodon-web-1 tootctl accounts create USERNAME --email EMAIL --confirmed --role Owner
```
至此完成