文章页顶部广告

Gotosocial 的分域部署

78 次浏览
5 评论

共计2343个字符,预计需要花费 3分钟才能阅读完成。

AI摘要:Gotosocial 0.18.0版本新增了分域部署功能,通过Nginx重定向实现顶级域名与二级域名的分离。部署时需在首次启动前配置`docker-compose.yaml`,设置实例地址、账户域名、数据库类型、存储后端等参数,并确保可信代理和开放注册等功能的正确配置。

我因为使用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 来添加好友

正文完
 0
评论(5 条评论)
  1. [...]今天看见一篇博客文章1,也是介绍GoToSocial的,它提到可以使用S3来存储,我也尝试配置自己的Cloudflare R2存储桶到GoToSocial,可是一直重启,无法使用。一开始我只看到官方文档中的docker部署部分,所以没看到关于S3存储。后来我又去看了看,找到了这部分: GoToSocial 文档-存储。使用docker compose环境变量的话,需要将配置标志前面加GTS_,全改[...]

      未知系统   未知浏览器  美国伊利诺伊芝加哥
  2. 大大的小蜗牛 初识 LV.2
    2025-02-21 10:44:56 回复

    非常早的版本就支持这样部署了。

      Windows   Chrome  中国香港
    1. 老孙 博主
      2025-02-21 10:46:21 回复
      @大大的小蜗牛

      这个我还真没注意到...

      刚了解到,觉得还挺有意思的

        Windows   Chrome  美国加利福尼亚
  3. ACEVS 熟识 LV.4
    2025-02-16 16:08:20 回复

    重定向的玩法不错~

      Windows   Chrome  美国科进
    1. 老孙 博主
      2025-02-16 16:42:08 回复
      @ACEVS

      忍不住又折腾了一番,但是已经和其他实例有交互的话就必须要更改自己和其他实例的数据库了比较麻烦,所以只适用于新部署的实例

        Windows   Chrome  印度马哈拉施特拉孟买Syscon
联系我们

版权说明

版权所有 转载请注明出处

SiteMap| RSS|

© 2025 老孙博客
 Theme by Puock  Powered by Typecho

老孙博客制作