mirror of
https://github.com/superseriousbusiness/gotosocial.git
synced 2024-11-21 16:55:38 +03:00
[chore] Clarify supported platforms, add notes + docs (#3427)
* [chore] Don't build for OpenBSD, add support level notes + tips * tweak a bit * add supported platforms matrix
This commit is contained in:
parent
2076f7d85f
commit
020da28daa
3 changed files with 94 additions and 72 deletions
|
@ -39,7 +39,6 @@ builds:
|
||||||
goos:
|
goos:
|
||||||
- linux
|
- linux
|
||||||
- freebsd
|
- freebsd
|
||||||
- openbsd
|
|
||||||
goarch:
|
goarch:
|
||||||
- 386
|
- 386
|
||||||
- amd64
|
- amd64
|
||||||
|
@ -49,19 +48,14 @@ builds:
|
||||||
- 6
|
- 6
|
||||||
- 7
|
- 7
|
||||||
ignore:
|
ignore:
|
||||||
# build freebsd + openbsd only for amd64
|
# Build FreeBSD
|
||||||
|
# only for amd64.
|
||||||
- goos: freebsd
|
- goos: freebsd
|
||||||
goarch: arm64
|
goarch: arm64
|
||||||
- goos: freebsd
|
- goos: freebsd
|
||||||
goarch: arm
|
goarch: arm
|
||||||
- goos: freebsd
|
- goos: freebsd
|
||||||
goarch: 386
|
goarch: 386
|
||||||
- goos: openbsd
|
|
||||||
goarch: arm64
|
|
||||||
- goos: openbsd
|
|
||||||
goarch: arm
|
|
||||||
- goos: openbsd
|
|
||||||
goarch: 386
|
|
||||||
mod_timestamp: "{{ .CommitTimestamp }}"
|
mod_timestamp: "{{ .CommitTimestamp }}"
|
||||||
# MODERNC SQLITE BINARY BUILDS
|
# MODERNC SQLITE BINARY BUILDS
|
||||||
-
|
-
|
||||||
|
@ -88,7 +82,6 @@ builds:
|
||||||
goos:
|
goos:
|
||||||
- linux
|
- linux
|
||||||
- freebsd
|
- freebsd
|
||||||
- openbsd
|
|
||||||
goarch:
|
goarch:
|
||||||
- 386
|
- 386
|
||||||
- amd64
|
- amd64
|
||||||
|
@ -98,19 +91,14 @@ builds:
|
||||||
- 6
|
- 6
|
||||||
- 7
|
- 7
|
||||||
ignore:
|
ignore:
|
||||||
# build freebsd + openbsd only for amd64
|
# Build FreeBSD
|
||||||
|
# only for amd64.
|
||||||
- goos: freebsd
|
- goos: freebsd
|
||||||
goarch: arm64
|
goarch: arm64
|
||||||
- goos: freebsd
|
- goos: freebsd
|
||||||
goarch: arm
|
goarch: arm
|
||||||
- goos: freebsd
|
- goos: freebsd
|
||||||
goarch: 386
|
goarch: 386
|
||||||
- goos: openbsd
|
|
||||||
goarch: arm64
|
|
||||||
- goos: openbsd
|
|
||||||
goarch: arm
|
|
||||||
- goos: openbsd
|
|
||||||
goarch: 386
|
|
||||||
mod_timestamp: "{{ .CommitTimestamp }}"
|
mod_timestamp: "{{ .CommitTimestamp }}"
|
||||||
|
|
||||||
# https://goreleaser.com/customization/docker/
|
# https://goreleaser.com/customization/docker/
|
||||||
|
@ -474,17 +462,42 @@ release:
|
||||||
|
|
||||||
Tl;dr: Regardless of whether you're using SQLite or Postgres as your DB driver, you most likely you want the regular version without `moderncsqlite` in the name.
|
Tl;dr: Regardless of whether you're using SQLite or Postgres as your DB driver, you most likely you want the regular version without `moderncsqlite` in the name.
|
||||||
|
|
||||||
However, if you're on FreeBSD or OpenBSD, use the `moderncsqlite` version instead. See the table below:
|
However, if you're on FreeBSD, 32-bit Linux or 32-bit ARM, we recommend using the `moderncsqlite` version instead.
|
||||||
|
|
||||||
| OS | Architecture | Binary archive | Docker |
|
You may need to change some configuration options too. See the table below:
|
||||||
| ------- | ----------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------- |
|
|
||||||
| Linux | x86-64/AMD64 (64-bit) | [linux_amd64.tar.gz](https://github.com/superseriousbusiness/gotosocial/releases/download/{{ .Tag }}/gotosocial_{{ .Version }}_linux_amd64.tar.gz) | `superseriousbusiness/gotosocial:{{ .Version }}` |
|
| OS | Architecture | Support level | Binary archive | Docker |
|
||||||
| Linux | x86-32/i386 (32-bit) | [linux_386.tar.gz](https://github.com/superseriousbusiness/gotosocial/releases/download/{{ .Tag }}/gotosocial_{{ .Version }}_linux_386.tar.gz) | `superseriousbusiness/gotosocial:{{ .Version }}` |
|
| ------- | ----------------------- | ---------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------- |
|
||||||
| Linux | Armv8/ARM64 (64-bit) | [linux_arm64.tar.gz](https://github.com/superseriousbusiness/gotosocial/releases/download/{{ .Tag }}/gotosocial_{{ .Version }}_linux_arm64.tar.gz) | `superseriousbusiness/gotosocial:{{ .Version }}` |
|
| Linux | x86-64/AMD64 (64-bit) | 🟢 Full | [linux_amd64.tar.gz](https://github.com/superseriousbusiness/gotosocial/releases/download/{{ .Tag }}/gotosocial_{{ .Version }}_linux_amd64.tar.gz) | `superseriousbusiness/gotosocial:{{ .Version }}` |
|
||||||
| Linux | Armv7/ARM32 (32-bit) | [linux_armv7.tar.gz](https://github.com/superseriousbusiness/gotosocial/releases/download/{{ .Tag }}/gotosocial_{{ .Version }}_linux_armv7.tar.gz) | `superseriousbusiness/gotosocial:{{ .Version }}` |
|
| Linux | Armv8/ARM64 (64-bit) | 🟢 Full | [linux_arm64.tar.gz](https://github.com/superseriousbusiness/gotosocial/releases/download/{{ .Tag }}/gotosocial_{{ .Version }}_linux_arm64.tar.gz) | `superseriousbusiness/gotosocial:{{ .Version }}` |
|
||||||
| Linux | Armv6/ARM32 (32-bit) | [linux_armv6.tar.gz](https://github.com/superseriousbusiness/gotosocial/releases/download/{{ .Tag }}/gotosocial_{{ .Version }}_linux_armv6.tar.gz) | `superseriousbusiness/gotosocial:{{ .Version }}` |
|
| FreeBSD | x86-64/AMD64 (64-bit) | 🟢 Full<sup>[1](#freebsd)</sup> | [freebsd_amd64_moderncsqlite.tar.gz](https://github.com/superseriousbusiness/gotosocial/releases/download/{{ .Tag }}/gotosocial_{{ .Version }}_freebsd_amd64_moderncsqlite.tar.gz) | None provided |
|
||||||
| OpenBSD | x86-64/AMD64 (64-bit) | [openbsd_amd64_moderncsqlite.tar.gz](https://github.com/superseriousbusiness/gotosocial/releases/download/{{ .Tag }}/gotosocial_{{ .Version }}_openbsd_amd64_moderncsqlite.tar.gz) | `superseriousbusiness/gotosocial:{{ .Version }}-moderncsqlite` |
|
| Linux | x86-32/i386 (32-bit) | 🟡 Partial<sup>[2](#32-bit)</sup> | [linux_386_moderncsqlite.tar.gz](https://github.com/superseriousbusiness/gotosocial/releases/download/{{ .Tag }}/gotosocial_{{ .Version }}_linux_386_moderncsqlite.tar.gz) | `superseriousbusiness/gotosocial:{{ .Version }}-moderncsqlite` |
|
||||||
| FreeBSD | x86-64/AMD64 (64-bit) | [freebsd_amd64_moderncsqlite.tar.gz](https://github.com/superseriousbusiness/gotosocial/releases/download/{{ .Tag }}/gotosocial_{{ .Version }}_freebsd_amd64_moderncsqlite.tar.gz) | `superseriousbusiness/gotosocial:{{ .Version }}-moderncsqlite` |
|
| Linux | Armv7/ARM32 (32-bit) | 🟡 Partial<sup>[2](#32-bit)</sup> | [linux_armv7_moderncsqlite.tar.gz](https://github.com/superseriousbusiness/gotosocial/releases/download/{{ .Tag }}/gotosocial_{{ .Version }}_linux_armv7_moderncsqlite.tar.gz) | `superseriousbusiness/gotosocial:{{ .Version }}-moderncsqlite` |
|
||||||
|
| Linux | Armv6/ARM32 (32-bit) | 🟡 Partial<sup>[2](#32-bit)</sup> | [linux_armv6_moderncsqlite.tar.gz](https://github.com/superseriousbusiness/gotosocial/releases/download/{{ .Tag }}/gotosocial_{{ .Version }}_linux_armv7_moderncsqlite.tar.gz) | `superseriousbusiness/gotosocial:{{ .Version }}-moderncsqlite` |
|
||||||
|
| Linux | x86-32/i386 (32-bit) | 🟡 Partial<sup>[2](#32-bit)</sup> | [linux_386_moderncsqlite.tar.gz](https://github.com/superseriousbusiness/gotosocial/releases/download/{{ .Tag }}/gotosocial_{{ .Version }}_linux_386_moderncsqlite.tar.gz) | `superseriousbusiness/gotosocial:{{ .Version }}-moderncsqlite` |
|
||||||
|
|
||||||
|
#### FreeBSD
|
||||||
|
|
||||||
|
`moderncsqlite` version currently recommended, though you might have success with the regular WASM SQLite version.
|
||||||
|
|
||||||
|
If running with regular WASM SQLite and having instability or memory issues, the following settings *may* help:
|
||||||
|
|
||||||
|
```yaml
|
||||||
|
db-max-open-conns-multiplier: 0
|
||||||
|
db-sqlite-journal-mode: "TRUNCATE"
|
||||||
|
db-sqlite-synchronous: "FULL"
|
||||||
|
```
|
||||||
|
|
||||||
|
#### 32-bit
|
||||||
|
|
||||||
|
`moderncsqlite` version is needed, as performance with regular WASM SQLite is not guaranteed when running on 32-bit.
|
||||||
|
|
||||||
|
Remote media processing will likely not work with reasonable performance, so you should set the following config variables to prevent download of remote media onto your instance:
|
||||||
|
|
||||||
|
```yaml
|
||||||
|
media-remote-max-size: 0
|
||||||
|
media-emoji-remote-max-size: 0
|
||||||
|
```
|
||||||
|
|
||||||
# https://goreleaser.com/customization/changelog/
|
# https://goreleaser.com/customization/changelog/
|
||||||
changelog:
|
changelog:
|
||||||
|
|
51
README.md
51
README.md
|
@ -41,7 +41,11 @@ Here's a screenshot of the instance landing page!
|
||||||
- [OIDC integration](#oidc-integration)
|
- [OIDC integration](#oidc-integration)
|
||||||
- [Backend-first design](#backend-first-design)
|
- [Backend-first design](#backend-first-design)
|
||||||
- [Known Issues](#known-issues)
|
- [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)
|
- [Stable Releases](#stable-releases)
|
||||||
- [Snapshot Releases](#snapshot-releases)
|
- [Snapshot Releases](#snapshot-releases)
|
||||||
- [Docker](#docker)
|
- [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).
|
||||||
|
|
||||||
|
<!--releases-start-->
|
||||||
|
### 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<sup>[1](#freebsd)</sup> | Yes | No |
|
||||||
|
| Linux | x86-32/i386 (32-bit) | 🟡 Partial<sup>[2](#32-bit)</sup> | Yes | Yes |
|
||||||
|
| Linux | Armv7/ARM32 (32-bit) | 🟡 Partial<sup>[2](#32-bit)</sup> | Yes | Yes |
|
||||||
|
| Linux | Armv6/ARM32 (32-bit) | 🟡 Partial<sup>[2](#32-bit)</sup> | Yes | Yes |
|
||||||
|
| Linux | x86-32/i386 (32-bit) | 🟡 Partial<sup>[2](#32-bit)</sup> | Yes | Yes |
|
||||||
|
| OpenBSD | Any | 🔴 None<sup>[3](#openbsd)</sup> | 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
|
### 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)
|
- [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).
|
- [GoToSocial Helm Chart](https://github.com/fSocietySocial/charts/tree/main/charts/gotosocial) by [0hlov3](https://github.com/0hlov3).
|
||||||
|
|
||||||
|
<!--releases-end-->
|
||||||
---
|
---
|
||||||
|
|
||||||
## Contributing
|
## Contributing
|
||||||
|
|
|
@ -1,47 +1,11 @@
|
||||||
# Releases
|
# 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):
|
{%
|
||||||
|
include "../../README.md"
|
||||||
* 32-bit Intel/AMD (i386/x86)
|
start='<!--releases-start-->'
|
||||||
* 64-bit Intel/AMD (amd64/x86_64)
|
end='<!--releases-end-->'
|
||||||
* 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).
|
|
||||||
|
|
Loading…
Reference in a new issue