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 3-5 minutes). This is especially true for hosts with ≤1GB of available RAM.
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
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.