Files
k3s-cluster/fava
Roger Oriol b6284bec1f fava service
2026-01-31 12:12:31 +01:00
..
2026-01-31 12:12:31 +01:00
2026-01-31 01:12:13 +01:00
2026-01-31 11:39:30 +01:00

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:

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:

kubectl create namespace fava

2. Ajusta el fitxer Beancount

Si el teu fitxer principal no es diu main.beancount, actualitza els arguments del contenidor:

args:
  - "/data/contabilitat/el_teu_fitxer.beancount"

3. Desplega el servei

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:

# 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

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:

kubectl rollout restart deployment/fava -n fava

Per veure els logs de sincronització:

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