使用Docker快速部署mastodon实例

本文最后更新于 2024年5月8日 上午

如何使用Docker快速部署mastodon实例

直接使用docker compose部署是不可行的,需要按照步骤进行

创建目录

1
mkdir -p /home/mastodon/mastodon

进入目录

1
cd /home/mastodon/mastodon

拉取镜像

1
docker pull ghcr.io/mastodon/mastodon

修改docker compose配置文件

1
wget https://raw.githubusercontent.com/mastodon/mastodon/main/docker-compose.yml

修改docker compose文件中的版本号

初始化PostgreSQL

  • 重要!!!!!
    1
    docker run --name postgres14 -v /home/mastodon/mastodon/postgres14:/var/lib/postgresql/data -e   POSTGRES_PASSWORD=设置数据库管理员密码 --rm -d postgres:14-alpine
    进入数据库
    1
    docker exec -it postgres14 psql -U postgres
    创建用户名mastodon的密码
    1
    CREATE USER mastodon WITH PASSWORD '数据库密码(最好和数据库管理员密码不一样)' CREATEDB;
    停止docker
    1
    docker stop postgres14

配置Mastodon

/home/mastodon/mastodon根文件夹中创建空白.env.production文件

1
2
cd /home/mastodon/mastodon
touch .env.production

运行引导

1
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

1
2
docker-compose down
docker-compose up -d

文件夹赋权

1
2
3
4
chown 991:991 -R ./public
chown -R 70:70 ./postgres14
docker-compose down
docker-compose up -d

创建管理员

1
docker exec mastodon-web-1 tootctl accounts create USERNAME --email EMAIL --confirmed --role Owner

至此完成