### gitea

**initial setup**

- database settings
  - database type: `sqlite3`
  - path: `/data/gitea/gitea.db`
- general settings
  - site title: `atom.town`
  - server domain: `git.atom.town`
  - ssh server port: `22`
  - gitea base url: `https://git.atom.town/`
  - enable update checker: `true`
- email settings
  - smtp host: `post.atom.town`
  - smtp port: `465`
  - send email as: `"Gitea" <system@atom.town>`
  - smtp username: `system@atom.town`
  - smtp password: `<password>`
  - enable email notifications: `true`
- server and third-party service settings
  - enable openid sign-in: `false`
  - disable self-registration: `false`
  - allow registration only through external services: `true`
  - enable openid self-registration: `true`
  - hidden email domain: `git.atom.town`
  - password hash algorithm: `argon2`
</details>

**further setup**

- admin settings -> identity & access -> authentication sources
  - add authentication source
    - authentication type: `OAuth2`
    - authentication name: `Stalwart`
    - oauth2 provider: `OpenID Connect`
    - client id (key): `gitea`
    - client secret: `<secret_from_stalwart>`
    - openid connect auto discovery url: `https://post.atom.town/.well-known/openid-configuration`
