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

76 lines
1.8 KiB
Markdown

---
title: 使用Docker快速部署mastodon实例
date: 2023-10-30 11:12:43
tags: mastodon
categories: 分享
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
```
至此完成