记Mastodon(长毛象)的搭建

2022-09-06 12:03:11 浏览数 (1)

前言

image-1653380342727image-1653380342727

今天使用docker进行安装,为了简化安装,使用了宝塔面板。

代码语言:txt复制
1.Mastodon比较吃的的是内存,所以建议使用1H2G及以上配置的机器,我这里使用的是2核4G的Debian 11.1 64bit
2.装好宝塔面板
3.安装NGINX
4.一个邮箱
5.一个域名以及SSL证书

安装docker和docker-compose

docker的安装比较简单,进入宝塔的应用商店中搜索docker,安装这个Docker管理器就可以了。

image-1653380476327image-1653380476327

Docker Compose的话,宝塔并不能一并安装,还是需要手动安装的,安装使用官网的方法进行。

安装完成,通过docker-compose versiondocker -v进行检测是否安装成功。

image-1653380850315image-1653380850315
image-1653380874147image-1653380874147

拉取Mastodon镜像

拉取镜像及下载docker-compose.yml文件

代码语言:txt复制
mkdir -p /home/mastodon/mastodon
cd /home/mastodon/mastodon
docker pull mashirozx/mastodon
wget https://raw.githubusercontent.com/d1258zzz/mastodon/master/docker-compose.yml
image-1653381051474image-1653381051474

对于docker pull mashirozx/mastodon,也可以通过docker管理器=》镜像管理=》获取镜像的对话框中填入 mashirozx/mastodon进行拉取,效果一样……

image-1653381255862image-1653381255862

配置Mastodon

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

代码语言:txt复制
touch .env.production

在当前目录下用root权限运行以下语句

代码语言:txt复制
docker-compose run --rm web bundle exec rake mastodon:setup
image-1653381672298image-1653381672298

然后会有一长串的配置需要输入

代码语言:txt复制
Your instance is identified by its domain name. Changing it afterward will break things.
Domain name:
这里输入您准备给mastodon的域名。
Do you want to enable single user mode? (y/N)
一般来说都是N,除非你只是用作仅供自己使用的站点,(这样显然少了很多乐趣
Are you using Docker to run Mastodon? (Y/n)
你在用DOCKER运行Mastodon嘛? Of course!
然后下面关于pgsql和redis的设置直接默认,一路回车就好
PostgreSQL host: db
PostgreSQL port: 5432
Name of PostgreSQL database: postgres
Name of PostgreSQL user: postgres
Password of PostgreSQL user:
Database configuration works! 

Redis host: redis
Redis port: 6379
Redis password:
Redis configuration works! 

Do you want to store uploaded files on the cloud? (y/N)
如果您需要将文件存储在您的对象中,可以Y
Do you want to send e-mails from localhost? (y/N)
默认N,应该也没几个机器能够SMTP发件吧

这里需要准备一个邮箱,支持stmp发件,并还不能有ssl加密/非常迷惑
我这里用的是126邮箱。

Do you want to send e-mails from localhost? No
SMTP server: smtp.126.com
SMTP port: 25
SMTP username: @126.com
SMTP password:
SMTP authentication: plain
SMTP OpenSSL verify mode: none
E-mail address to send e-mails "from": @126.com
Send a test e-mail with this configuration right now? Yes
Send test e-mail to: @qq.com

This configuration will be written to .env.production
Save configuration? Yes
Below is your configuration, save it to an .env.production file outside Docker:

然后再下面你就会看到一段很长的内容,是的,他将被写入.env.production,这里有你的配置信息,将他复制下来备用!!!

Now that configuration is saved, the database schema must be loaded.
If the database already exists, this will erase its contents.
Prepare the database now? Yes
Running RAILS_ENV=production rails db:setup ...

Database 'postgres' already exists
Error connecting to Redis on localhost:6379 (Errno::ECONNREFUSED)
Error connecting to Redis on localhost:6379 (Errno::ECONNREFUSED)
Switching object-storage-safely from green to red because Redis::CannotConnectError Error connecting to Redis on localhost:6379 (Errno::ECONNREFUSED)
Error connecting to Redis on localhost:6379 (Errno::ECONNREFUSED)
Done!

All done! You can now power on the Mastodon server 


	

0 人点赞