前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >在fly.io部署Gotosocial

在fly.io部署Gotosocial

原创
作者头像
不回头的浪子
发布2023-08-21 10:47:03
3020
发布2023-08-21 10:47:03
举报
文章被收录于专栏:部署部署

关于Gotosocial

GoToSocial 是一个十分轻量(轻量到甚至没有用户界面,需要使用第三方程序登录、兼容 Mastodon 应用进行使用)的 ActivityPub 联邦社交网络程序,自建 GoToSocial 可以避免您的信息因为所在实例倒闭、不可抗力等原因化为乌有。

准备

  • 注册 Fly.io 账号,并绑卡(避免滥用);
  • 注册 Cloudflare 并启用 R2,启用 R2 需要绑卡。新建一个储存桶并创建一个 API 令牌。

安装 flyctl

  • Linux
代码语言:txt
复制
curl -L https://fly.io/install.sh | sh
  • macOS
代码语言:txt
复制
curl -L https://fly.io/install.sh | sh
  • Windows,需要开启 RemoteSigned: 管理员运行
代码语言:txt
复制
 Set-ExecutionPolicy -ExecutionPolicy RemoteSigned
代码语言:txt
复制
powershell -Command "iwr https://fly.io/install.ps1 -useb | iex"

登录

代码语言:txt
复制
flyctl auth login

# 若登录失败使用
# flyctl auth login -i 
# 输入账号密码进行登录

创建APP

YOURAPPNAME更改为自己希望设置的名称

代码语言:txt
复制
flyctl launch --name YOURAPPNAME --image=superseriousbusiness/gotosocial:latest --region hkg --no-deploy

创建储存卷

代码语言:txt
复制
flyctl volumes create social_data --region hkg --size 1

编辑配置

编辑根目录下的 fly.toml 配置文件,参考下方

代码语言:txt
复制
app = "gotos" ## 自定义名称
primary_region = "hkg" ##服务器节点,当前为香港

[experimental]
  vm = true

[build]
  image = "superseriousbusiness/gotosocial:latest"

[env]
  GTS_DB_ADDRESS = "/gotosocial/storage/sqlite.db"
  GTS_DB_TLS_MODE = "enable"
  GTS_DB_TYPE = "sqlite"
  GTS_HOST = "GTS的域名"
  GTS_LETSENCRYPT_ENABLED = "false"
  GTS_STORAGE_BACKEND = "s3"
  GTS_STORAGE_S3_BUCKET = "BUCKET名称"
  GTS_STORAGE_S3_ENDPOINT = "#S3 API"
  GTS_STORAGE_S3_ACCESS_KEY = "#api-tokens"
  GTS_STORAGE_S3_SECRET_KEY = "#api-tokens"
  GTS_STORAGE_S3_PROXY = "true"
  # 添加时区为UTC+8
  TZ = "Asia/Chongqing"

[[mounts]]
  source = "social_data"
  destination = "/gotosocial/storage"

[http_service]
  internal_port = 8080
  force_https = true
  auto_stop_machines = false
  auto_start_machines = true
  min_machines_running = 1
  processes = ["app"]

以上配置中GTS_STORAGE_S3_ENDPOINT不需要带https:和最后的/BUCKET名称

部署

代码语言:txt
复制
flyctl deploy

启动成功后会显示一个URL,能成功访问则代表部署成功。

创建用户和管理员

fly.toml文件目录执行

代码语言:txt
复制
flyctl ssh console
  • 创建用户
代码语言:txt
复制
/gotosocial/gotosocial admin account create --username YOUR_USERNAME --email YOUR@EMAIL.COM --password 'SOME_VERY_GOOD_PASSWD'

YOUR_USERNAME为用户名

YOUR@EMAIL.COM为邮箱

SOME_VERY_GOOD_PASSWD为密码,需设置足够复杂,太简单会提示密码不够安全,需重新设置

  • 设置管理员
代码语言:txt
复制
/gotosocial/gotosocial admin account promote --username YOUR_USERNAME

演示

https://m.ima.cm

https://m.ima.cm/@jkjoy

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 关于Gotosocial
  • 准备
  • 安装 flyctl
  • 登录
  • 创建APP
  • 创建储存卷
  • 编辑配置
  • 部署
  • 创建用户和管理员
  • 演示
相关产品与服务
持续部署
CODING 持续部署(CODING Continuous Deployment,CODING-CD)用以管理软件在经过构建之后的发布和部署交付过程,可以无缝对接上游 Git 仓库、制品仓库实现全自动化部署,同时支持 Webhook 等外部对接能力,方便集成各种开发、运维工具。在配以合适的技术架构、运维工具的基础上,可以方便地实现蓝绿发布、灰度发布(金丝雀发布)、滚动发布、快速回滚等功能。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档