Compare commits

..

3 Commits

Author SHA1 Message Date
8948970733 restore esential github workflows
Some checks failed
Update home server containers / update-repo (push) Failing after 0s
Update home server containers / update-infrastructure (push) Has been skipped
Apply Kuberentes Configs / update-repo (push) Failing after 0s
Apply Kuberentes Configs / update-infrastructure (push) Has been skipped
Libation / sync-audiobooks (push) Failing after 0s
Manage Jellyfin Playlists / run-python (push) Failing after 0s
ZFS Backup / update-infrastructure (push) Successful in 1m10s
2026-01-27 22:51:11 -07:00
2596129600 more stuff 2026-01-27 22:49:25 -07:00
13b2351075 more stuff 2026-01-27 22:46:17 -07:00
4 changed files with 72 additions and 23 deletions

View File

@@ -1,23 +0,0 @@
name: Beets
on:
# schedule:
# # Run 4 times a day: 6am, 12pm, 6pm, 12am UTC
# - cron: '0 6,12,18,0 * * *'
workflow_dispatch: # Allow manual trigger
jobs:
sync-beets:
runs-on: [home-server]
steps:
- name: Run Beets sync
working-directory: /home/gitea-runner/infrastructure/infrastructure/home-server/beets
run: |
git pull
docker compose pull -q
docker compose up -d
docker compose restart
sleep 2
docker exec -u 1000 beets bash -c 'beet -v import -i -q /managed/*' || true
# Clean up empty directories after import (but not /managed itself)
docker exec -u 1000 beets bash -c 'find /managed -mindepth 1 -type d -empty -delete' || true
echo "Beets sync completed"

46
.github/workflows/backup-zfs.yml vendored Normal file
View File

@@ -0,0 +1,46 @@
name: ZFS Backup
on:
schedule:
- cron: 0 1 * * *
workflow_dispatch:
jobs:
update-infrastructure:
runs-on: [self-hosted, home-server]
steps:
- name: run syncoid
run: |
zpool status
echo ""
zfs list
echo ""
syncoid \
--recursive \
--no-privilege-elevation \
data-ssd/data \
backup/data
syncoid \
--recursive \
--no-privilege-elevation \
data-ssd/media \
backup/media
# steps:
# - name: run syncoid
# run: |
# zpool status
# echo ""
# zfs list
# echo ""
# syncoid \
# --recursive \
# --no-privilege-elevation \
# --no-rollback \
# data-ssd/data \
# backup/data
# syncoid \
# --recursive \
# --no-privilege-elevation \
# --no-rollback \
# data-ssd/media \
# backup/media

18
.github/workflows/libation-sync.yml vendored Normal file
View File

@@ -0,0 +1,18 @@
name: Libation
on:
schedule:
# Run 4 times a day: 6am, 12pm, 6pm, 12am UTC
- cron: '0 6,12,18,0 * * *'
workflow_dispatch: # Allow manual trigger
jobs:
sync-audiobooks:
runs-on: [home-server]
steps:
- name: Run Libation sync
working-directory: /home/gitea-runner/infrastructure/infrastructure/home-server/libation
run: |
echo "Starting Libation audiobook sync at $(date)"
docker compose pull -q
docker compose run --rm libation
echo "Libation sync completed at $(date)"

View File

@@ -314,11 +314,19 @@
container = { container = {
enabled = false; enabled = false;
}; };
runner = {
shell = "${pkgs.bashNonInteractive}/bin/bash";
}
}; };
}; };
}; };
systemd.services.gitea-runner-infrastructure.environment = { systemd.services.gitea-runner-infrastructure.environment = {
RUNNER_SHELL = "${pkgs.bashNonInteractive}/bin/bash"; RUNNER_SHELL = "${pkgs.bashNonInteractive}/bin/bash";
PATH = lib.makeBinPath [
pkgs.bashNonInteractive
pkgs.coreutils
pkgs.git
];
}; };
systemd.services.gitea-runner-infrastructure.serviceConfig = { systemd.services.gitea-runner-infrastructure.serviceConfig = {
ReadWritePaths = [ ReadWritePaths = [