gotosocial
Light ActivityPub server compatible with Mastodon's client API, designed for small to medium sized deployments.
- Category: Apps
- Status: 3
- Image:
gotosocial
, 4, upstream - Healthcheck: Yes
- Backups: No
- Email: 3
- Tests: No
- SSO: 3 (OIDC)
Quick start
- Set up Docker Swarm and [
abra
] - Deploy [
coop-cloud/traefik
] abra app new gotosocial
abra app config <app-domain>
abra app deploy <app-domain>
Note: The initial startup commonly takes longer than the allotted time for setup, please give it some time to start up (probably 2-3 minutes).
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 you will need to uncomment
#COMPOSE_FILE="$COMPOSE_FILE:compose.postgres.yml"
Add your first account
Create the account
abra app run <app-domain> app ./gotosocial admin account create --username <user-name> --email <user-email> --password '<a-secure-password>'
Make them an admin
abra app run <app-domain> app ./gotosocial admin account promote --username <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 <oidc-secret>
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=""
#GTS_OIDC_CLIENT_SECRET=""
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=[]
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.