Docker 安装 & 配置 GoToSocial

Cover


GoToSocial 是啥

GoToSocial 是用 Golang 编写的 ActivityPub 社交网络服务器。GoToSocial 为 Fediverse 提供了一个轻量级、可定制和注重安全的入口。通过 GoToSocial,您可以与朋友保持联系,发布、阅读和分享图片和文章。所有这一切都不会被跟踪或广告!

以上白话就是,它是一款可私有部署的类微博应用。

选择理由

  • 项目搭建练手
  • 部署对软硬件环境要求较低
  • 日常生活、工作等事件记录及分享
  • 数据可控
  • 避免非正常数据监管
  • 对比 Memos,可与其他支持 ActivityPub 联邦服务器联通,用户之间可直接关注,而非系统孤岛
  • 多系统,多平台 Web 及客户端支持

安装准备

  • 服务器
  • 数据库 Postgres
  • 域名

Docker 安装 GoToSocial

数据库安装、配置及域名解析、反代不过多介绍,先掠过。

首先,下载镜像文件

镜像文件docker pull superseriousbusiness/gotosocial:latest

创建环境变量文件 gotosocial.env

1
vim /etc/docker/env/gotosocial.env

添加以下环境变量内容,相关环境变量需根据个人实际情况调整

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
GTS_HOST=domain.com
GTS_DB_TYPE=postgres
GTS_DB_ADDRESS=dbhost
GTS_DB_PORT=5432
GTS_DB_DATABASE=dbbase
GTS_DB_USER=dbuser
GTS_DB_PASSWORD=dbpwd
GTS_LETSENCRYPT_ENABLED=false
GTS_STORAGE_BACKEND=s3
GTS_STORAGE_S3_BUCKET=s3bucket
GTS_STORAGE_S3_ENDPOINT=s3endpoiont
GTS_STORAGE_S3_ACCESS_KEY=s3acckey
GTS_STORAGE_S3_SECRET_KEY=s3seckey
GTS_STORAGE_S3_PROXY=true
TZ=Asia/Chongqing

GTS_HOST: 应用访问域名
GTS_STORAGE_BACKEND:资源存储方式,包括 locals3local 为本地存储;s3 为对象存储,支持 Amazon S3、Cloudflare R2、minio 等
GTS_STORAGE_S3_PROXY: 使用对象存储时配置为 true, 使用本地存储时配置为 false
TZ: 时区配置

Docker 启动 GoToSocial

相关准备完成后,则以 Docker 启动:

1
docker run -d --restart always --name gotosocial --env-file /etc/docker/env/gotosocial.env -p 443:8080 superseriousbusiness/gotosocial:latest

通过已解析的域名 https://domain.com 访问

img

出现以上类似界面,则安装成功。

其他说明

用户创建

目前 GoToSocial 仍处于开发阶段,前端无用户注册、创建页面及功能,需要在后台完成用户创建

创建用户命令

1
docker exec -it gotosocial /gotosocial/gotosocial admin account create --username uname --email [email protected] --password upwd

uname 用户名
[email protected] 邮箱
upwd 密码

确认用户命令,激活用户使其可登录

1
docker exec -it gotosocial /gotosocial/gotosocial admin account confirm --username uname

授权用户命令,授予用户管理员权限

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

访问域名 https://domain.com/settings ,登录并进行相关配置。