brooke f43bfa5269
All checks were successful
continuous-integration/drone/push Build is passing
update readme notes
2025-04-25 18:15:29 -04:00
2025-04-25 17:25:35 -04:00
2025-04-25 15:48:51 -04:00
2025-01-09 11:39:54 -06:00
2025-01-24 15:07:43 -05:00
2025-02-19 17:22:18 -05:00
2025-01-24 15:07:43 -05:00
2025-04-25 14:19:10 -04:00
2025-04-25 18:15:29 -04:00

gotosocial

Light ActivityPub server compatible with Mastodon's client API, designed for small to medium sized deployments.

  • Category: Apps
  • Status: 4, pre-release
  • Image: gotosocial, 4, upstream
  • Healthcheck: Yes
  • Backups: No
  • Email: Yes
  • Tests: 2
  • SSO: 3 (OIDC)

Quick start

  • Deploy coop-cloud/traefik (note that you will have to enable host networking on traefik for the ratelimiting feature to work)
  • abra app new gotosocial
  • abra app config <app-domain> (choose database type now, migration is possible but annoying)
  • abra app deploy <app-domain>

Note: This deployment can be pretty wonky on instances with <2GB of available RAM or <2 cores, this is a known issue related to wasm compilation running on initialization. Please be patient and check the logs.

Database

Sqlite

This is the default, nothing needs to be changed unless you know there are sqlite options you want to change.

Postgres

You will need to generate a secret for the db password

abra app secret generate <app-domain> db_password v1

Then uncomment the following line

COMPOSE_FILE="$COMPOSE_FILE:compose.postgres.yml"

Add your first account

Create the account

Note: Redeploying the app is required after creating or promoting new accounts using the cli, this is expected to change in future updates of GtS

abra app cmd <domain> app newuser <user-name> <email> '<password>'

Make them an admin

abra app cmd <domain> app admin <user-name>

Federation mode

You will want to consider either using an allowlist or a blacklist for federation, this is configurable using GTS_INSTANCE_FEDERATION_MODE which is set to allowlist by default meaning you will have to explicitly allow federation with other instances via the settings panel https://your-domain.com/settings.

SMTP

Add your SMTP password

Note: Only STARTTLS is supported currently, if you don't know what this means then please consult your mail service provider.

abra app secret insert <app-domain> smtp_password v1 <smtp-password>

Uncomment and populate these environment variables

#COMPOSE_FILE="$COMPOSE_FILE:compose.smtp.yml"
#GTS_SMTP_HOST=
#GTS_SMTP_PORT=
#GTS_SMTP_USERNAME=
#GTS_SMTP_FROM=

OIDC

Add your OIDC secret

abra app secret insert <app-domain> oidc_secret v1 <oidc-secret>

Uncomment and populate these environment variables

#COMPOSE_FILE="$COMPOSE_FILE:compose.oidc.yml"
#GTS_OIDC_ENABLED=false
#GTS_OIDC_IDP_NAME=""
#GTS_OIDC_ISSUER=""
#GTS_OIDC_CLIENT_ID=""

Optionally also uncomment these environment variables to automate setting up allowed groups for admins and users

#GTS_OIDC_LINK_EXISTING=false
#GTS_OIDC_ALLOWED_GROUPS=[]
#GTS_OIDC_ADMIN_GROUPS=[]

S3 Storage backend

Add your S3 bucket secret key

abra app secret insert <app-domain> s3_secret v1 <s3-secret-key>

Uncomment and populate these environment variables

#COMPOSE_FILE="$COMPOSE_FILE:compose.s3.yml"
#GTS_STORAGE_BACKEND=s3
#GTS_STORAGE_S3_ENDPOINT=""
#GTS_STORAGE_S3_ACCESS_KEY=""
#GTS_STORAGE_S3_BUCKET=""

Further reading & commands

Please refer to https://docs.gotosocial.org some of the commands run will require redeploying the app.

If you need to run any particular command make sure to append ./ to the command gotosocial as it is not in the contianer's PATH.

Description
No description provided
Readme 207 KiB
Languages
Shell 97.6%
Roff 2.4%