From 2493e8b94c1e3eabddc81becfcc8118f4bdc1aa4 Mon Sep 17 00:00:00 2001 From: tobi Date: Mon, 14 Oct 2024 00:16:56 +0200 Subject: [PATCH] add supported platforms matrix --- README.md | 51 ++++++++++++++++++++++++++++++-- docs/getting_started/releases.md | 50 +++++-------------------------- 2 files changed, 55 insertions(+), 46 deletions(-) diff --git a/README.md b/README.md index 860ce6d8f..5a475c98a 100644 --- a/README.md +++ b/README.md @@ -41,7 +41,11 @@ Here's a screenshot of the instance landing page! - [OIDC integration](#oidc-integration) - [Backend-first design](#backend-first-design) - [Known Issues](#known-issues) -- [Getting Started](#getting-started) +- [Installing GoToSocial](#installing-gotosocial) + - [Supported Platforms](#supported-platforms) + - [FreeBSD](#freebsd) + - [32-bit](#32-bit) + - [OpenBSD](#openbsd) - [Stable Releases](#stable-releases) - [Snapshot Releases](#snapshot-releases) - [Docker](#docker) @@ -258,9 +262,49 @@ Since every ActivityPub server implementation has a slightly different interpret --- -## Getting Started +## Installing GoToSocial -Check our [releases page](https://github.com/superseriousbusiness/gotosocial/releases) and our [getting started](https://docs.gotosocial.org/en/latest/getting_started/) documentation. +Check our [getting started](https://docs.gotosocial.org/en/latest/getting_started/) documentation! And have a peruse of our [releases page](https://github.com/superseriousbusiness/gotosocial/releases). + + +### 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) | 🟢 Full | Yes | Yes | +| Linux | Armv8/ARM64 (64-bit) | 🟢 Full | Yes | Yes | +| FreeBSD | x86-64/AMD64 (64-bit) | 🟢 Full[1](#freebsd) | Yes | No | +| Linux | x86-32/i386 (32-bit) | 🟡 Partial[2](#32-bit) | Yes | Yes | +| Linux | Armv7/ARM32 (32-bit) | 🟡 Partial[2](#32-bit) | Yes | Yes | +| Linux | Armv6/ARM32 (32-bit) | 🟡 Partial[2](#32-bit) | Yes | Yes | +| Linux | x86-32/i386 (32-bit) | 🟡 Partial[2](#32-bit) | Yes | Yes | +| OpenBSD | Any | 🔴 None[3](#openbsd) | No | No | + +#### FreeBSD + +Mostly works, just a few issues with WASM SQLite; check release notes carefully when installing on 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. + +As such, we don't recommend running GtS on 32-bit, but you may have success if you turn off downloading of remote media. + +For more guidance, check release notes when trying to install on 32-bit. + +#### OpenBSD + +Marked as unsupported due to performance issues (high memory usage when idle, crashes while processing media). + +You may have some success if you turn off decoding of remote media. + +We hope to support OpenBSD better in future, but this is not guaranteed. ### Stable Releases @@ -302,6 +346,7 @@ You can also deploy your own instance of GoToSocial with the help of: - [Ansible Playbook (MASH)](https://github.com/mother-of-all-self-hosting/mash-playbook): The playbook supports a many services, including GoToSocial. [Documentation](https://github.com/mother-of-all-self-hosting/mash-playbook/blob/main/docs/services/gotosocial.md) - [GoToSocial Helm Chart](https://github.com/fSocietySocial/charts/tree/main/charts/gotosocial) by [0hlov3](https://github.com/0hlov3). + --- ## Contributing diff --git a/docs/getting_started/releases.md b/docs/getting_started/releases.md index 5f566acf0..a7ce2ddd9 100644 --- a/docs/getting_started/releases.md +++ b/docs/getting_started/releases.md @@ -1,47 +1,11 @@ # 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. +GoToSocial can be installed in a number of different ways. We publish official binary releases as well as container images. -## Binary releases +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. -We publish binary builds for Linux to [our GitHub project](https://github.com/superseriousbusiness/gotosocial/releases): - -* 32-bit Intel/AMD (i386/x86) -* 64-bit Intel/AMD (amd64/x86_64) -* 32-bit ARM (v6 and v7) -* 64-bit ARM64 - -For FreeBSD we publish: - -* 64-bit Intel/AMD (amd64/x86_64) - -## Containers - -We also publish container images [on the Docker Hub](https://hub.docker.com/r/superseriousbusiness/gotosocial). - -Containers are released for the same Linux platforms as our binary releases, with the exception of 32-bit Intel/AMD. - -## Snapshots - -We publish snapshot binary builds and Docker images of whatever is currently on main. - -We always recommend using a stable release instead, but if you want to live on the edge (at your own risk!) then see the [snapshots](https://github.com/superseriousbusiness/gotosocial#snapshots) section on our GitHub repo for more information. - -## Third-party - -Some folks have created distribution packages for GoToSocial or additional tooling to aid in installing GoToSocial. - -### Distribution packages - -These packages are not maintained by GoToSocial, so please direct questions and issues to the repository maintainers (and donate to them!). - -[![Packaging status](https://repology.org/badge/vertical-allrepos/gotosocial.svg)](https://repology.org/project/gotosocial/versions) - -### Deployment tools - -You can deploy your own instance of GoToSocial with the help of: - -- [YunoHost GoToSocial Packaging](https://github.com/YunoHost-Apps/gotosocial_ynh) by [OniriCorpe](https://github.com/OniriCorpe). -- [Ansible Playbook (MASH)](https://github.com/mother-of-all-self-hosting/mash-playbook): The playbook supports a many services, including GoToSocial. [Documentation](https://github.com/mother-of-all-self-hosting/mash-playbook/blob/main/docs/services/gotosocial.md) -- GoToSocial Helm Charts: - - [GoToSocial Helm Chart](https://github.com/fSocietySocial/charts/tree/main/charts/gotosocial) by [0hlov3](https://github.com/0hlov3). +{% + include "../../README.md" + start='' + end='' +%}