2023-10-30 11:25:40 +08:00
|
|
|
|
---
|
|
|
|
|
title: 使用Docker快速部署mastodon实例
|
2024-05-09 10:40:20 +08:00
|
|
|
|
tags: mastodon
|
2023-10-30 11:25:40 +08:00
|
|
|
|
categories: 分享
|
2024-05-09 10:40:20 +08:00
|
|
|
|
abbrlink: ebf565b6
|
2024-05-09 16:35:20 +08:00
|
|
|
|
excerpt: >-
|
|
|
|
|
ai: 这篇文章介绍了如何使用Docker快速部署Mastodon实例的详细步骤,包括创建和进入目录、拉取镜像、修改Docker
|
|
|
|
|
Compose配置文件、初始化PostgreSQL数据库、配置Mastodon及其环境变量文件、启动Mastodon服务器,并进行最后的管理员创建等操作。
|
2024-05-09 10:40:20 +08:00
|
|
|
|
date: 2023-10-30 11:12:43
|
2023-10-30 11:25:40 +08:00
|
|
|
|
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
|
|
|
|
|
```
|
|
|
|
|
至此完成
|