GTS 0.15.1 Snapshot version now supports account registration. Except for missing message notifications and the ability to edit historical articles (which can be deleted and edited), I think it is sufficient for personal use. Moreover, its resource consumption is relatively small compared to Mastodon. I still recommend it as a personal node (toy). My tutorial is slightly outdated, so I will update it a bit.
Create a directory and give permissions#
First, determine where you want to place your files. I placed mine in /opt/gotosocial and created a data folder.
✨If you want to place uploaded images or videos locally, make sure to set the directory permissions correctly.
Command example:
mkdir -p /opt/gotosocial/data && cd /opt/gotosocial && chown 1000:1000 ./data
Fetch the latest Docker-Compose.yml and modify it#
wget https://raw.githubusercontent.com/superseriousbusiness/gotosocial/main/example/docker-compose/docker-compose.yaml
You can modify the environment variables according to the official documentation
✨If you want to add environment variables, please follow the format below:
- Add GTS_ before the configuration flag.
- Use uppercase letters.
- Replace dashes (-) with underscores (_).
For example:
instance-expose-public-timeline: false
If you want to include it in the environment variables, you need to modify it to:
GTS_INSTANCE_EXPOSE_PUBLIC_TIMELINE: false
version: "3.3"
services:
gotosocial:
image: superseriousbusiness/gotosocial:snapshot
container_name: gotosocial
user: 1000:1000
networks:
- gotosocial
environment:
GTS_HOST: #Modify to your domain name
GTS_DB_TYPE: sqlite
GTS_DB_ADDRESS: /gotosocial/storage/sqlite.db
#If you need to use S3, modify the following content
#GTS_STORAGE_BACKEND: ""
#GTS_STORAGE_S3_BUCKET: ""
#GTS_STORAGE_S3_ENDPOINT: ""
#GTS_STORAGE_S3_ACCESS_KEY: ""
#GTS_STORAGE_S3_SECRET_KEY: ""
#GTS_STORAGE_S3_PROXY: "true"
GTS_INSTANCE_LANGUAGES: "zh,en"
#If you need SMTP, add the following content
#GTS_SMTP_HOST: ""
#GTS_SMTP_PORT: ""
#GTS_SMTP_USERNAME: ""
#GTS_SMTP_PASSWORD: ""
#GTS_SMTP_FROM: ""
GTS_LETSENCRYPT_ENABLED: "false"
GTS_LETSENCRYPT_EMAIL_ADDRESS: ""
GTS_ACCOUNTS_REGISTRATION_OPEN: "true"
## For reverse proxy setups:
# GTS_TRUSTED_PROXIES: "172.x.x.x"
## Set the timezone of your server:
TZ: Asia/Shanghai
ports:
- "8086:8080"
## For letsencrypt:
#- "80:80"
## For reverse proxy setups:
#- "127.0.0.1:8080:8080"
volumes:
- ./data:/gotosocial/storage
restart: "always"
networks:
gotosocial:
ipam:
driver: default
Start#
docker compose up -d
Create a user#
docker exec -it gotosocial /gotosocial/gotosocial admin account create --username admin --email [email protected] --password 'SOME_VERY_GOOD_PASSWD'
Modify the content after username, email, and password. After creating, you can log in with your email.
Set as administrator#
docker exec -it gotosocial /gotosocial/gotosocial admin account promote --username admin
Modify the content after username to your username.
Set up reverse proxy#
For details, please refer to this section of the official documentation. I use 1Panel, so I won't go into detail here.
Backend settings#
Enter https://your-domain-name/settings and log in to the backend settings.
You can customize the content there.
Content after the 0.15.1 update#
Because registration is now supported, you need to configure SMTP to send verification emails.