From 6b56a545100adeef19335e56fa338a787b65b4e5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Guillaume=20T=C3=A2che?= Date: Sun, 16 Aug 2026 15:43:54 +0200 Subject: [PATCH] Adds actual budget --- home/tga/dyndns | 2 +- init/enable-all-quadlets | 2 +- quadlets/budget/budget-data.volume | 7 +++++++ quadlets/budget/budget.container | 23 +++++++++++++++++++++ quadlets/budget/budget.pod | 3 +++ quadlets/firefly/firefly-importer.container | 3 +++ services/kiwix/clone-zim-updater.service | 2 +- services/nginx/create-certificate@.service | 1 + 8 files changed, 40 insertions(+), 3 deletions(-) create mode 100644 quadlets/budget/budget-data.volume create mode 100644 quadlets/budget/budget.container create mode 100644 quadlets/budget/budget.pod diff --git a/home/tga/dyndns b/home/tga/dyndns index 3cc453d..fd578d7 100644 --- a/home/tga/dyndns +++ b/home/tga/dyndns @@ -2,7 +2,7 @@ set -o errexit -o pipefail -o noclobber -o nounset -o errtrace -o functrace update_url=https://infomaniak.com/nic/update -subdomains=(finance git home homebox import.finance komga mail matrix mealie navidrome nextcloud nexus odoo overleaf paperless photos pihole tasks torrent wallabag wiki zigbee) +subdomains=(budget finance git home homebox import.finance komga mail matrix mealie navidrome nextcloud nexus odoo overleaf paperless photos pihole tasks torrent wallabag wiki zigbee) data_file="${HOME}/.dyndns" file="${HOME}/tmp_data.txt" for subdomain in "${subdomains[@]}"; do diff --git a/init/enable-all-quadlets b/init/enable-all-quadlets index 28ac9d6..f9b5d4d 100644 --- a/init/enable-all-quadlets +++ b/init/enable-all-quadlets @@ -6,7 +6,7 @@ setsebool -P openvpn_run_unconfined on semanage fcontext -a -t container_file_t "/mnt/nas(/.*)?" restorecon -vR /mnt/nas -users=("firefly" "gitea" "homeassistant" "homebox" "immich" "firefly" "jdownloader" "kiwix" "komga" "navidrome" "nextcloud" "nexus" "nginx" "overleaf" "pairdrop" "paperless" "pihole" "qbittorrent" "synapse" "vikunja" "wallabag") +users=("budget" "firefly" "gitea" "homeassistant" "homebox" "immich" "firefly" "jdownloader" "kiwix" "komga" "navidrome" "nextcloud" "nexus" "nginx" "overleaf" "pairdrop" "paperless" "pihole" "qbittorrent" "synapse" "vikunja" "wallabag") for user in "${users[@]}"; do chown -R "${user}:${user}" "/var/home/${user}" secrets_file="/var/home/${user}/.secrets" diff --git a/quadlets/budget/budget-data.volume b/quadlets/budget/budget-data.volume new file mode 100644 index 0000000..933a330 --- /dev/null +++ b/quadlets/budget/budget-data.volume @@ -0,0 +1,7 @@ +[Volume] +Copy=true +Device=/var/mnt/nas/containers/budget/storage/data +Driver=local +Options=bind +Type=none +VolumeName=budget-data diff --git a/quadlets/budget/budget.container b/quadlets/budget/budget.container new file mode 100644 index 0000000..de0c7d1 --- /dev/null +++ b/quadlets/budget/budget.container @@ -0,0 +1,23 @@ +[Unit] +Description=Actual Budget container + +[Container] +AutoUpdate=registry +ContainerName=budget +Environment=TZ=Europe/Zurich +HealthCmd=node scripts/health-check.js +HealthInterval=60s +HealthTimeout=10s +HealthRetries=5 +Image=docker.io/actualbudget/actual-server:latest +Label=io.containers.autoupdate=registry +Pod=budget.pod +StartWithPod=true +Timezone=Europe/Zurich +Volume=budget-data.volume:/data + +[Service] +Restart=always + +[Install] +WantedBy=default.target diff --git a/quadlets/budget/budget.pod b/quadlets/budget/budget.pod new file mode 100644 index 0000000..be69aa5 --- /dev/null +++ b/quadlets/budget/budget.pod @@ -0,0 +1,3 @@ +[Pod] +PodName=budget +PublishPort=9030:5006 diff --git a/quadlets/firefly/firefly-importer.container b/quadlets/firefly/firefly-importer.container index d73a402..2556333 100644 --- a/quadlets/firefly/firefly-importer.container +++ b/quadlets/firefly/firefly-importer.container @@ -98,7 +98,10 @@ Environment=VERIFY_TLS_SECURITY=true Image=docker.io/fireflyiii/data-importer:latest Label=io.containers.autoupdate=registry Pod=firefly.pod +Secret=app-key,type=env,target=APP_KEY Secret=auto-import,type=env,target=AUTO_IMPORT_SECRET +Secret=passport-private-key,type=env,target=PASSPORT_PRIVATE_KEY +Secret=passport-public-key,type=env,target=PASSPORT_PUBLIC_KEY StartWithPod=true Timezone=Europe/Zurich Volume=firefly-upload.volume:/var/www/html/storage/upload diff --git a/services/kiwix/clone-zim-updater.service b/services/kiwix/clone-zim-updater.service index 8b7f83d..68d1b35 100644 --- a/services/kiwix/clone-zim-updater.service +++ b/services/kiwix/clone-zim-updater.service @@ -4,7 +4,7 @@ ConditionPathExists=!/var/home/kiwix/kiwix-zim-updater [Service] Type=oneshot -ExecStart=bash -c "cd /var/home/kiwix && git clone https://github.com/jojo2357/kiwix-zim-updater.git" +ExecStart=/bin/bash -c "cd /var/home/kiwix && git clone https://github.com/jojo2357/kiwix-zim-updater.git" RemainAfterExit=true [Install] diff --git a/services/nginx/create-certificate@.service b/services/nginx/create-certificate@.service index 4c9dd2b..f524ba0 100644 --- a/services/nginx/create-certificate@.service +++ b/services/nginx/create-certificate@.service @@ -3,6 +3,7 @@ Description=Creates a certificate [Service] Type=oneshot +ExecStart=/usr/bin/mkdir /var/mnt/nas/containers/nginx/storage/certs/%I ExecStart=/usr/bin/podman exec -it acme --issue --server https://acme-v02.api.letsencrypt.org/directory --webroot /usr/share/nginx/html \ --cert-file /etc/nginx/certs/%I/cert.pem --key-file /etc/nginx/certs/%I/key.pem \ --ca-file /etc/nginx/certs/%I/chain.pem --fullchain-file /etc/nginx/certs/%I/fullchain.pem \