前言
部署Mastodon长毛象
下载镜像
1
| docker pull ghcr.io/mastodon/mastodon
|
下载项目
1 2
| git clone https://github.com/mastodon/mastodon.git cd mastodon
|
配置Mastodon
通过配置引导创建配置文件
创建配置文件
通过配置引导生成配置
1
| docker-compose run --rm web bundle exec rake mastodon:setup
|
写入配置文件
.env.production1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
| LOCAL_DOMAIN=mastondon.loli.fj.cn SINGLE_USER_MODE=true SECRET_KEY_BASE= OTP_SECRET= VAPID_PRIVATE_KEY= VAPID_PUBLIC_KEY= DB_HOST=db DB_PORT=5432 DB_NAME=postgres DB_USER=postgres DB_PASS= REDIS_HOST=redis REDIS_PORT=6379 REDIS_PASSWORD= SMTP_SERVER=smtp.mailgun.org SMTP_PORT=587 SMTP_LOGIN= SMTP_PASSWORD= SMTP_AUTH_METHOD=plain SMTP_OPENSSL_VERIFY_MODE=none SMTP_FROM_ADDRESS=
|
通过配置文件模版手动配置
复制配置文件模版
1
| cp .env.production.sample .env.production
|
配置域名
<domain>
:域名
配置REDIS
.env.production1 2
| REDIS_HOST=127.0.0.1 REDIS_PORT=6379
|
配置PostgreSQL
<password>
:postgres中的mastodon用户密码
.env.production1 2 3 4 5
| DB_HOST=127.0.0.1 DB_USER=mastodon DB_NAME=mastodon DB_PASS=<password> DB_PORT=5432
|
配置秘密
生成秘密
1
| docker-compose run --rm web bundle exec rake secret
|
配置秘密
.env.production1 2 3
| PAPERCLIP_SECRET=45926834030f7cda9f68abdc7c7d88efb32c43e024cc5e64a86bf5fdee15a90fa0a8d30a43e5fdd8150d342eabba470ffea9b5105fede5db8d275260d4094c2b SECRET_KEY_BASE=d6a1f814d8af438e6ee21a58c9e48709de88f0d068e5eacb510d170ddc4d41f0cf7f9461a82f77b134d66d24573febe74b78b764b28e4d8c7283c16001ffd60f OTP_SECRET=dc6f7ef95a0c6d1c278015eaf7659db4e0a07f80c28628518260d3b52f8b63a97d912eada6066ef7d36167bf85d401ae1de192b9492dbb45bc0a97fe96e67608
|
配置VAPID_KEY
生成密钥对
1
| docker-compose run --rm web bundle exec rake mastodon:webpush:generate_vapid_key
|
配置密钥对
1 2
| VAPID_PRIVATE_KEY=l0kJvAtOaqrx9zpHsZG0Fs3Lp2tSibQn4z5QsnsU8Ko= VAPID_PUBLIC_KEY=BKx77XAPy5F8C2f9HcTocCSW7GSEbrtriqX7FK4s-Fbm1MrguTODManBFXP0lsUxo48NQ7XNbsQubk5ifUWssKE=
|
配置邮箱
.env.production1 2 3 4 5 6
| SMTP_SERVER= SMTP_PORT= SMTP_LOGIN= SMTP_PASSWORD= SMTP_FROM_ADDRESS= SMTP_TLS=true
|
初始化数据库
1
| docker-compose run --rm web bundle exec rake bin/rails db:create
|
启动Mastodon容器
配置Nginx
/etc/nginx/nginx.conf1 2 3 4
| server { listen 80; root /root/Mastodon/public; }
|
完成
参考文献
萌贴士的博客
简书——lxj29
digitalixy
腾讯云开发者社区——KenTalk
CSDN——Mr_庄