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 --follow
Notes
- El init container clona el repositori de Gitea al volum persistent
- Un sidecar container fa
git pullcada 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