676 字
3 分钟
使用Docker部署GoToSocial

官方Github库:https://github.com/superseriousbusiness/gotosocial

官方文档:https://docs.gotosocial.org/

前言#

之前感觉GoToSocial过于简单了一直没有研究,最近仔细看了一下感觉内容已经很丰富了,完全可以小规模和朋友一起使用了。

实例图标、名称、规则的修改,举报

远程实例屏蔽,图片定时清理

还有emoji添加等等,基础的内容基本都有了,个人感觉比Akkoma更适合小型实例使用。

这次依旧是1Panel懒人一键部署(本来就是一键好嘛

有参考:https://blog.imsun.org/1388.html

正式部署#

创建目录并给予权限#

因为之前Akkoma也是在opt目录下部署的,所以我习惯了都在这里建文件夹了,一定要授予权限,很多失败就是因为没有正确授予权限

mkdir -p /opt/gotosocial/data && cd /opt/gotosocial && chown 1000:1000 ./data

拉取最新的 Docker-compose.yaml文件#

wget https://raw.githubusercontent.com/superseriousbusiness/gotosocial/main/example/docker-compose/docker-compose.yaml

编辑内容#

version: "3.3"

services:
  gotosocial:
    image: superseriousbusiness/gotosocial:latest
    container_name: gotosocial
    user: 1000:1000
    networks:
      - 1panel-network #这里我有修改,使用系统默认即可
    environment:
      #你的实例域名
      GTS_HOST: 
      #你的数据库信息,我这里用的postgresql,若无特殊需求使用官方的sqlite即可
      GTS_DB_TYPE: postgres
      GTS_DB_ADDRESS: ""
      GTS_DB_USER: ""
      GTS_DB_PASSWORD: ""
      GTS_DB_DATABASE: "gotosocial"
      GTS_DB_TLS_MODE: "disable"
      #从此行开始是S3配置,若无需求使用官方默认即可
      #GTS_STORAGE_BACKEND: "s3"
      #GTS_STORAGE_S3_BUCKET: ""
      #GTS_STORAGE_S3_ENDPOINT: ""
      #GTS_STORAGE_S3_ACCESS_KEY: ""
      #GTS_STORAGE_S3_SECRET_KEY: ""
      #GTS_STORAGE_S3_PROXY: ""
      #此行为实例使用语言
      #GTS_INSTANCE_LANGUAGES: "zh"
      #此行为SMTP配置
      #GTS_SMTP_HOST: ""
      #GTS_SMTP_PORT: ""
      #GTS_SMTP_USERNAME_: ""
      #GTS_SMTP_PASSWORD: ""
      #GTS_SMTP_FROM: ""
      GTS_LETSENCRYPT_ENABLED: "false"
      GTS_LETSENCRYPT_EMAIL_ADDRESS: ""
      ## For reverse proxy setups:
      # GTS_TRUSTED_PROXIES: "172.x.x.x"
      ## Set the timezone of your server:
      #TZ: Asia/Shanghai
    ports:
      - "8089:8080"
      ## For letsencrypt:
      #- "80:80"
      ## For reverse proxy setups:
      #- "127.0.0.1:8080:8080"
    volumes:
      - ./data:/gotosocial/storage

    restart: "always"

networks:
  1panel-network: #同上,这里我有修改,使用系统默认即可
#    external:
#      name: 1panel-network

我修改了数据库,S3和SMTP,还有端口号(它默认是443)

更多配置可以查看:https://docs.gotosocial.org/en/latest/configuration/

官方关于在docker文件中添加环境变量是这么说的:#

这些环境变量遵循以下格式:

  1. 在配置标志之前添加 GTS_
  2. 全部大写。
  3. 将破折号 - 替换为下划线 _

例如:instance-expose-public-timeline: false

如果想要加入环境变量中就需要修改成:GTS_INSTANCE_EXPOSE_PUBLIC_TIMELINE: false

运行#

docker compose up -d

即可运行

创建用户#

docker exec -it gotosocial /gotosocial/gotosocial admin account create --username admin --email YOUR@EMAIL.COM --password 'SOME_VERY_GOOD_PASSWD'

修改 username email password后的内容

创建完后即可用邮箱登陆

设置管理员#

docker exec -it gotosocial /gotosocial/gotosocial admin account promote --username admin

将username后的内容修改为你的用户名

反向代理#

如果使用1panel可以参考我Akkoma那篇文章:https://blog.0p0.top/p/akkoma%E9%83%A8%E7%BD%B2/#%E5%8F%8D%E4%BB%A3%E7%BD%91%E7%AB%99

后台设置#

输入 https://你的域名/settings 并登陆进入后台设置

在这里就可以自定义相关内容了。

使用Docker部署GoToSocial
https://z3z.xyz/posts/GoToSocial部署/
作者
z3z
发布于
2024-02-13
许可协议
CC BY-NC-SA 4.0