93 lines
2.4 KiB
Markdown
93 lines
2.4 KiB
Markdown
# Fava - Beancount Web UI
|
|
|
|
Aquest servei desplega Fava, una interfície web per visualitzar i editar llibres de comptes de Beancount.
|
|
|
|
## Configuració
|
|
|
|
### 1. Crea el Secret amb les credencials de Gitea
|
|
|
|
Primer, crea un token d'accés personal a Gitea (Settings > Applications > Generate New Token).
|
|
|
|
Després crea el Secret amb kubectl:
|
|
|
|
```bash
|
|
kubectl create secret generic gitea-credentials \
|
|
--from-literal=username='el_teu_usuari_gitea' \
|
|
--from-literal=password='el_teu_token_gitea' \
|
|
--namespace=fava
|
|
```
|
|
|
|
**Nota:** Assegura't de crear el namespace primer si no existeix:
|
|
```bash
|
|
kubectl create namespace fava
|
|
```
|
|
|
|
### 2. Ajusta el fitxer Beancount
|
|
|
|
Si el teu fitxer principal no es diu `main.beancount`, actualitza els arguments del contenidor:
|
|
|
|
```yaml
|
|
args:
|
|
- "/data/contabilitat/el_teu_fitxer.beancount"
|
|
```
|
|
|
|
### 3. Desplega el servei
|
|
|
|
```bash
|
|
kubectl apply -f fava.yaml
|
|
kubectl apply -f ingress.yaml
|
|
```
|
|
|
|
**Important:** Desplega primer el namespace (que està inclòs a fava.yaml), després crea el Secret, i finalment aplica la resta dels recursos.
|
|
|
|
Ordre recomanat:
|
|
```bash
|
|
# 1. Crear namespace i recursos base
|
|
kubectl apply -f fava.yaml
|
|
|
|
# 2. Crear el secret (veure pas 1)
|
|
kubectl create secret generic gitea-credentials \
|
|
--from-literal=username='el_teu_usuari' \
|
|
--from-literal=password='el_teu_token' \
|
|
--namespace=fava
|
|
|
|
# 3. Si cal, reinicia el deployment perquè agafi el secret
|
|
kubectl rollout restart deployment/fava -n fava
|
|
|
|
# 4. Aplica l'ingress
|
|
kubectl apply -f ingress.yaml
|
|
```
|
|
|
|
### 4. Verifica l'estat
|
|
|
|
```bash
|
|
kubectl get pods -n fava
|
|
kubectl logs -n fava deployment/fava
|
|
```
|
|
|
|
## Accés
|
|
|
|
Un cop desplegat, podràs accedir a Fava a: https://fava.rogi.casa
|
|
|
|
## Actualització del repositori
|
|
|
|
El repositori s'actualitza automàticament cada hora mitjançant un sidecar container. També pots forçar una actualització reiniciant el pod:
|
|
|
|
```bash
|
|
kubectl rollout restart deployment/fava -n fava
|
|
```
|
|
|
|
Per veure els logs de sincronització:
|
|
|
|
```bash
|
|
kubectl logs -n fava deployment/fava -c git-sync-hourly --follow
|
|
```
|
|
|
|
## Notes
|
|
|
|
- El init container clona el repositori de Gitea al volum persistent
|
|
- Un sidecar container fa `git pull` cada hora per mantenir el contingut actualitzat
|
|
- Fava s'executa llegint el fitxer directament del repositori clonat
|
|
- Les credencials es guarden com a Secret de Kubernetes
|
|
- Usa un token d'accés personal de Gitea en lloc de la teva contrasenya
|