我因为使用mastodon比较多,最近在与新关注的好友交流时发现他使用的GTS实例账号是顶级域名,访问时的网页地址却是二级域名,通过他我才知道GTS更新了很多有意思的功能

在最新的0.18.0 版本中新增了可信代理 trusted-proxies

跟我当时使用的版本相比,已经增加了许多功能

譬如 开放了注册页面, 譬如 分域部署 需要注意的是 这种部署布局的配置必须在第一次启动 GoToSocial 前完成。

主要是通过重定向来实现.把原本请求到账户所属域名的流量转发到真实的实例地址上去.

server {
server_name ima.cm; # account-domain
location /.well-known/webfinger {
rewrite ^.*$ https://social.ima.cm/.well-known/webfinger permanent; # host
}
location /.well-known/host-meta {
rewrite ^.*$ https://social.ima.cm/.well-known/host-meta permanent; # host
}
location /.well-known/nodeinfo {
rewrite ^.*$ https://social.ima.cm/.well-known/nodeinfo permanent; # host
}
}

如此就需要部署一个新的GTS实例 修改一下docker-compose.yaml中的配置

services:
gotosocial:
image: superseriousbusiness/gotosocial:latest
container_name: gotosocial
user: 1000:1000
networks:
- gotosocial
pull_policy: always
environment:
GTS_HOST: social.ima.cm #实例地址
GTS_ACCOUNT_DOMAIN: ima.cm #用户账户所属的域名
GTS_DB_TYPE: sqlite #使用sqlite数据库
GTS_DB_ADDRESS: /gotosocial/storage/sqlite.db
GTS_STORAGE_BACKEND: s3 # 使用S3存储 ,如果不需要可以删除包含STORAGE的环境变量
GTS_STORAGE_S3_BUCKET: user #桶名
GTS_STORAGE_S3_ENDPOINT: s3.bitiful.net #S3端点
GTS_STORAGE_S3_ACCESS_KEY: kmX5VsV8cB4ma8jeAg #
GTS_STORAGE_S3_SECRET_KEY: DJ9qG7pNAZy9 #密钥
GTS_STORAGE_S3_PROXY: true #代理S3,不会显示S3地址
GTS_ACCOUNTS_ALLOW_CUSTOM_CSS: true #允许自定义CSS
TZ: Asia/Chongqing #时区
GTS_SMTP_HOST: mail.cock.li #smtp服务器
GTS_SMTP_PORT: 587 #必须使用TLS
GTS_SMTP_USERNAME: admin@cock.li #用户名
GTS_SMTP_PASSWORD: ****** #密码
GTS_SMTP_FROM: admin@cock.li #邮箱地址
GTS_INSTANCE_LANGUAGES: zh #中文
GTS_ACCOUNTS_REGISTRATION_OPEN: true #开放注册
GTS_TRUSTED_PROXIES: 172.18.0.1/16 #可信代理
ports:
- "127.0.0.1:8080:8080"
volumes:
- ./data:/gotosocial/storage
restart: "always"
networks:
gotosocial:
ipam:
driver: default
config:
- subnet: "172.18.0.0/16"
gateway: "172.18.0.1"

访问https://social.ima.cm/@m 显示的账户所属的域名是ima.cm mastodon 可以通过 @m@ima.cm 来添加好友

本文作者:浪子 @ 提剑追梦

本文链接:https://blog.imsun.org/blog/1694/

本文标题:Gotosocial 的分域部署

本文版权:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!