如何使用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

至此完成