mastodon

mastodon自建存储minio记录

自建小站,之前一直使用的cloudflare的r2存储,一段时间下来发现费用其实也不低,于是就萌生了自建的想法。上周把我去年的斯德哥尔摩的1T大盘鸡给用上了,目前来记录一下,也许后面有些许用处。

mastodon采用的存储是全世界通用的S3协议,世界上基本全部的存储都支持这个S3协议,其中个人使用最好的,免费的,开源的就属于minio了。也就是自建S3对象存储,但是sla就没办法和大厂比了,自用是足够了。

目前使用的源站是Hosthatch家的服务器,在斯德哥尔摩节点上,有3台服务器,还有一台2T的大盘鸡(上星期60元收的),准备push到我这个账号,这样4台都在同一个区域了,内网互联很方便。

这个介绍了开通内网互联,我们只需要和这个大盘鸡互联成功,就可以把mastodon的附件存上去。minio的安装就不介绍了。

介绍一下这个mastodon的配置文件.env.production

S3_ENABLED=true
S3_BUCKET=桶名字
AWS_ACCESS_KEY_ID=minio登录后的自己生成密钥
AWS_SECRET_ACCESS_KEY=同上
S3_PROTOCOL=https 一定要选https
S3_HOSTNAME=oss.xxx.com 绑定的域名 不要加https
S3_ENDPOINT=http://192.168.10.2:9000  内网的和存储互通的地址 后面端口是minio api的端口
S3_REGION=au 位置,进入minio后,在桶设置里面自定义

minio建好后默认桶是私密的,要选择公开等这些权限问题,自行研究。最主要的是minio建好以后默认的是IP地址,我这里绑定了域名。如何绑定域名呢?

那就是要用到nginx,用nginx做端口转发,绑定域名。

oss.xxx.com.conf 的格式如下(好像还能继续优化)

server{
        listen 443 ssl http2;
        server_name oss.7.cr;
				ssl_certificate /www/server/panel/vhost/cert/oss.7.cr/fullchain.pem;
        ssl_certificate_key /www/server/panel/vhost/cert/oss.7.cr/privkey.pem;
				ssl_protocols TLSv1.1 TLSv1.2 TLSv1.3;
				ssl_ciphers EECDH+CHACHA20:EECDH+CHACHA20-draft:EECDH+AES128:RSA+AES128:EECDH+AES256:RSA+AES256:EECDH+3DES:RSA+3DES:!MD5;
				ssl_prefer_server_ciphers on;
				ssl_session_cache shared:SSL:10m;
				ssl_session_timeout 10m;
    location / {
             proxy_pass http://127.0.0.1:9000; #服务器ip地址不要配127.0.01
             #千万别加下面这个配置,一加这个下载指定废了经历了5小时结论,踩坑踩坑
             #proxy_set_header  Host       $host; 
             #下面这三个记得加上
             proxy_set_header X-Real-IP $remote_addr;
             proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
             proxy_set_header REMOTE-HOST $remote_addr;
         }
    }

这里面签发证书什么的我就不说了把,自行解决。基本上就是这样,域名配置好了以后就可以了。


阅读量:0