Files
ilnmors-homelab/docs/services/app/gitea.md

95 lines
2.6 KiB
Markdown

# gitea
## Prerequisite
### Create database
- Create the password with `openssl rand -base64 32`
- Save this value in secrets.yaml in `postgresql.password.gitea`
- Access infra server to create gitea_db with `podman exec -it postgresql psql -U postgres`
```SQL
CREATE USER gitea WITH PASSWORD 'postgresql.password.gitea';
CREATE DATABASE gitea_db;
ALTER DATABASE gitea_db OWNER TO gitea;
```
### Create oidc secret and hash
- Create the secret with `openssl rand -base64 32`
- access to auth vm
- `podman exec -it authelia sh`
- `authelia crypto hash generate pbkdf2 --password 'gitea.oidc.secret'`
- Save this value in secrets.yaml in `gitea.oidc.secret` and `gitea.oidc.hash`
### Create admin password
- Create the secret with `openssl rand -base64 32`
- Save this value in secrets.yaml in `gitea.admin.password`
-
### Add postgresql dump backup list
- [set_postgresql.yaml](../../../ansible/roles/infra/tasks/services/set_postgresql.yaml)
```yaml
- name: Set connected services list
ansible.builtin.set_fact:
# telegraf has no database
connected_services:
- ...
- "gitea"
```
## Configuration
### Site installation
- **!CAUTION!** This is needed Only when first installing. This process isn't needed when the data is restored on `~/data/containers/gitea`
- https://gitea.ilnmors.com
- General setting
- Site Title: Gitea: ilnmors
- Administrator Account Setting
- Administrator Username: il
- Email Address il@ilnmors.internal
- Password & confirm password: gitea.il.password
- Install Gitea
### Oauth configuration
- Site Administration
- Identity & Access: Authentication Sources: Add Authentication Source
- Configure the following options:
- Authentication Type: OAuth2
- Authentication Name: authelia
- OAuth2 Provider: OpenID Connect
- Client ID (Key): gitea
- Client Secret: gitea.oidc.secret
- OpenID Connect Auto Discovery URL: https://authelia.ilnmors.com/.well-known/openid-configuration
### Link Account via OAuth2
- Login with autheila
- Register New Account
- Link to Existing Account
- Link the account of administrational account which set at the inital install page
- id and password
### Set repository access token
- Settings: Applications: Generate New Token
- Token name: ilnmors-homelab
- Repository and Organization Access: All
- repository - Read and Write
- Generate Token
- Copy token value and save this in `secrets.yaml`
## Connect with loacl git repository
### Create remote git repository
- Repository: `+`
- Name: ilnmors-homelab
- etc: default vaules
- Following [07-git.md](../../runbook/07-git.md)