Releases
GoToSocial can be installed in a number of different ways. We publish official binary releases as well as container images.
A number of third-party packages are maintained by different distributions, and some people have created additional deployment tooling to make it easy to deploy GoToSocial yourself.
Supported Platforms
While we try to support a reasonable number of architectures and operating systems, it's not always possible to support a given platform due to library constraints or performance issues.
Platforms that we don't officially support may still work, but we can't test or guarantee performance or stability.
This is the current status of support offered by GoToSocial for different platforms (if something is unlisted it means we haven't checked yet so we don't know):
OS | Architecture | Support level | Binary archive | Docker container |
---|---|---|---|---|
Linux | x86-64/AMD64 (64-bit) | π’ Full1 | Yes | Yes |
Linux | Armv8/ARM64 (64-bit) | π’ Full1 | Yes | Yes |
FreeBSD | x86-64/AMD64 (64-bit) | π’ Full1,2 | Yes | No |
FreeBSD | Armv8/ARM64 (64-bit) | π’ Full1,2 | Yes | No |
NetBSD | x86-64/AMD64 (64-bit) | π’ Full1,2 | Yes | No |
NetBSD | Armv8/ARM64 (64-bit) | π’ Full1,2 | Yes | No |
Linux | x86-32/i386 (32-bit) | π‘ Partial3 | Yes | Yes |
Linux | Armv7/ARM32 (32-bit) | π‘ Partial3 | Yes | Yes |
Linux | Armv6/ARM32 (32-bit) | π‘ Partial3 | Yes | Yes |
OpenBSD | Any | π΄ None4 | No | No |
64-bit
64-bit platforms require the following (now, very common) CPU features:
-
x86-64 require SSE4.1 (for both media decoding and WASM SQLite)
-
Armv8 require ARM64 Large System Extensions (specifically when using WASM SQLite)
Without these features, performance will suffer. In these situations, you may have some success building a binary yourself with the totally unsupported, experimental nowasm tag.
BSDs
Mostly works, just a few things to keep in mind with WASM SQLite; check release notes carefully when installing on NetBSD or FreeBSD. If running with Postgres you should have no issues.
32-bit
GtS doesn't work well on 32-bit systems like i386, or Armv6/v7, mainly due to performance of media decoding.
We don't recommend running GtS on 32-bit, but you may have some success either turning off remote media processing altogether, or building a binary yourself with the totally unsupported, experimental nowasm tag.
For more guidance, check release notes when trying to install on 32-bit.
OpenBSD
Marked as unsupported due to performance issues (no WASM compiler, high memory usage when idle, crashes while processing media).
While we don't support running GtS on OpenBSD, you may have some success building a binary yourself with the totally unsupported, experimental nowasm tag.
Stable Releases
We package our stable releases for both binary builds and Docker containers, so that you don't have to build from source yourself.
The Docker image superseriousbusiness/gotosocial:latest
will always correspond to the latest stable release. Since this tag is overwritten frequently, you may want to use Docker CLI flag --pull always
to ensure that you always have the most up-to-date image every time you run using this tag. Alternatively, run docker pull superseriousbusiness/gotosocial:latest
manually just before use.
Snapshot Releases
We also make snapshot builds every time something is merged into the main branch, so you can run from whatever code is on main if you wish.
Please be warned that you do so at your own risk! We try to keep main working properly, but we make absolutely no guarantees. Take a stable release instead if you're unsure.
Docker
To run from main using Docker, use the snapshot
Docker tag. The Docker image superseriousbusiness/gotosocial:snapshot
will always correspond to the latest commit on main. Since this tag is overwritten frequently, you may want to use Docker CLI flag --pull always
to ensure that you always have the most up-to-date image every time you run using this tag. Alternatively, run docker pull superseriousbusiness/gotosocial:snapshot
manually just before use.
Binary release .tar.gz
To run from main using a binary release, download the appropriate .tar.gz file for your architecture from our self-hosted Minio S3 repository.
Snapshot binary releases in the S3 bucket are keyed by Github commit hash. To get the latest one, sort by Last Modified, or check out the list of commits here, copy the SHA of the latest one, and paste it in the Minio console filter. Snapshot binary releases are expired after 28 days, to keep our hosting costs down.
From Source
Instructions for building GoToSocial from source are in the CONTRIBUTING.md file.
Third-party Packaging
Thank you so much to the cool people who have put time and energy into packaging GoToSocial!
These packages are not maintained by GoToSocial, so please direct questions and issues to the repository maintainers (and donate to them!).
You can also deploy your own instance of GoToSocial with the help of:
- YunoHost GoToSocial Packaging by OniriCorpe.
- Ansible Playbook (MASH): The playbook supports a many services, including GoToSocial. Documentation
- GoToSocial Helm Chart by 0hlov3.