1
0
Fork 0
mirror of https://github.com/YunoHost-Apps/gotosocial_ynh.git synced 2024-09-03 19:16:06 +02:00
gotosocial_ynh/doc/DOCS.md
OniriCorpe 63747fd424
implementing OIDC (#109)
* add OIDC pertaining variables in the scripts & in the config panel

* typo & lowercase

* add docs

* Auto-update README

* translating new docs

* Auto-update README

* add mention of OpenID Connect in replacement of LDAP

* Auto-update README

* typo

* Auto-update README

* move the docs in a separate file (it's getting long)

* fix links

* Auto-update README

* fix relative links

* mention of the need to compile Dex

* typo

* typo

* updating readmes (add Store link) & docs link moved to description.md

* Auto-update README

* continuing work

* continuing work

* finishing translations

* docs enhancement (step by step installation of OpenID Connect)

* add a link to the official GTS docs about OIDC

* typo

* change the Dex link from the ynh repo to the ynh store

* fix docs

---------

Co-authored-by: yunohost-bot <yunohost@yunohost.org>
2023-11-05 05:46:30 +01:00

97 lines
4.8 KiB
Markdown

# Docs of the GoToSocial's package for YunoHost
*[Lire cette documentation en français.](./DOCS_fr.md)*
## Administration
You can login with your admin user (the one automatically created during installation) to your-instance.com/**admin** to administrate your GoToSocial instance.
[The source code of this administration panel](https://github.com/superseriousbusiness/gotosocial-admin) is available on github.
[The GTS admin panel documentation](https://docs.gotosocial.org/en/latest/admin/settings/).
In this administration interface, you can configure the following things:
* The name of your instance and its description
* Your contact e-mail address
* The referring user
* Blocked domains (not to federate with) or allowed domains (for the allowlist federation mode)
* Custom emojis
* Moderation reports
## Configuration
You can configure your instance using the config panel integrated in Yunohost, you will find it in the web admin interface of your Yunohost by following these steps:
`Applications > GoToSocial > Config Panel`
In this control panel you can configure the following things (non-exhaustive list):
* Account configuration :
* Are registrations open?
* Manual validation of registrations?
* Required reason for registration?
* Allow user custom CSS?
* Custom CSS max length?
* Media configuration
* Maximum image size
* Maximum video size
* Minimum number of characters for media descriptions
* Maximum number of characters for media descriptions
* Number of days media can be cached
* Post configuration
* Maximum number of characters for a new post
* Maximum number of characters in a Content Warning / subject of a new post
* Maximum number of options for a poll
* Maximum number of characters for a poll option
* Maximum number of media that can be added to a post
* Instance config
* Federation mode to use for this instance (blocklist / allowlist)
* Landing page user
* Exposed API options
* SMTP config
* Cache settings
* Advanced settings
* SameSite attribute
* Rate limit
Note: **Do NOT edit** the `config.yaml` file by hand. Always use this config panel instead. Otherwise your changes will be deleted at each update!
## Command line (CLI)
To use the GoToSocial command line, you first need to place yourself in the folder of your instance:
`cd /var/www/gotosocial/` or `cd /var/www/gotosocial__x/` (where `x` is the installation number of your instance, in the case of multi-installation).
Feel free to refer to the [GoToSocial command line documentation](https://docs.gotosocial.org/en/latest/admin/cli/).
## User creation
To create a new user, proceed as follows:
```bash
./gotosocial --config-path config.yaml admin account create --username some_username --email someuser@example.com --password 'SomeLongAndComplicatedPassword'
```
And to promote them as an administrator of your instance:
```bash
./gotosocial --config-path config.yaml admin account promote --username some_username
```
## OpenID Connect
You can read the [official GoToSocial documentation about OpenID Connect](https://docs.gotosocial.org/en/latest/configuration/oidc/) in support if you want.
To use OpenID Connect, the YunoHost admin must:
* Install the [Dex](https://apps.yunohost.org/app/dex) package (note that your server must compile it, which can be resource-intensive)
* Configure Dex properly during the installation (all entered information will be used in the next step, so keep it in a safe place)
* Domain: as you wish (may be a sub-domain of your GTS instance, like "dex.gts.example.com")
* Path: only `/` if you wish to install it on a sub-domain of your instance, otherwise as you wish
* Name of the app: "GoToSocial", "GTS-test", "YNH-GoToSocial" or anything that makes sense to you and does not contain a space (it will be used as "client ID" in the next step)
* OIDC secret: a long and random password of at least 30 characters
* Callback URI: `https://gts.example.com/auth/callback` by replacing the `gts.example.com` by the domain name of your GTS instance
* Configure GTS using the config panel's OIDC form: `Applications > GoToSocial > Config Panel > OpenID Connect settings`
* Activate OpenID Connect: `true`
* Name of the OIDC IDP: "Dex" or any other name that makes sense
* Skip the normal verification flow of tokens returned: keep on `false` ( **never** change to `true` unless you know what you're doing!)
* OIDC issuer URI: the domain name to which you assigned Dex in the previous step, with the final slash, e.g. `https://dex.gts.example.com/` (this is **NOT** the URL of your GTS instance)
* OIDC client ID: the app name defined at the Dex installation step (e.g. "GoToSocial", "GTS-test", "YNH-GoToSocial")
* OIDC client secret: the long password randomly generated during Dex's installation step
* Save, wait until GTS reboots and test!