Add watchtower for automatic container update

This commit is contained in:
Yan Lin 2025-09-11 21:11:20 +02:00
parent 0f25994737
commit c0d7ba3eb0
2 changed files with 30 additions and 3 deletions

View file

@ -441,6 +441,33 @@ in
autoStart = true; autoStart = true;
}; };
# Watchtower for automatic container updates
watchtower = {
image = "containrrr/watchtower:latest";
volumes = [
"/var/run/podman/podman.sock:/var/run/docker.sock"
"/etc/localtime:/etc/localtime:ro"
];
environment = {
WATCHTOWER_SCHEDULE = "0 0 5 * * *"; # Daily at 5 AM
WATCHTOWER_CLEANUP = "true"; # Remove old images after update
WATCHTOWER_NOTIFICATIONS = "gotify";
WATCHTOWER_NOTIFICATION_GOTIFY_URL = "https://notify.yanlincs.com";
WATCHTOWER_NOTIFICATION_GOTIFY_TOKEN = "Ac9qKFH5cA.7Yly";
WATCHTOWER_NOTIFICATION_GOTIFY_TITLE = "Watchtower Update";
WATCHTOWER_NOTIFICATIONS_LEVEL = "info";
TZ = systemTZ;
};
extraOptions = [
"--network=podman"
];
autoStart = true;
};
# Nextcloud cloud storage and file sharing # Nextcloud cloud storage and file sharing
cloud = { cloud = {
image = "docker.io/linuxserver/nextcloud:latest"; image = "docker.io/linuxserver/nextcloud:latest";

View file

@ -88,7 +88,7 @@ if ! run_borg_check "--repository-only" "Repository consistency"; then
CHECK_DURATION=$((CHECK_END - CHECK_START)) CHECK_DURATION=$((CHECK_END - CHECK_START))
send_notification "critical" \ send_notification "critical" \
"[$HOSTNAME] Borg Check Failed" \ "Borg Check Failed" \
"Repository consistency check failed!\n\nRepository: $REPO_URL\nDuration: ${CHECK_DURATION}s\n\nErrors:\n$ERRORS_FOUND\n\nImmediate attention required!" "Repository consistency check failed!\n\nRepository: $REPO_URL\nDuration: ${CHECK_DURATION}s\n\nErrors:\n$ERRORS_FOUND\n\nImmediate attention required!"
exit 1 exit 1
@ -176,7 +176,7 @@ if [ "$CHECK_RESULT" = "SUCCESS" ]; then
echo -e "$SUCCESS_MSG" echo -e "$SUCCESS_MSG"
send_notification "normal" \ send_notification "normal" \
"[$HOSTNAME] Borg Check Passed" \ "Borg Check Passed" \
"$SUCCESS_MSG" "$SUCCESS_MSG"
else else
FAILURE_MSG="Integrity check found issues for $HOSTNAME\n\n" FAILURE_MSG="Integrity check found issues for $HOSTNAME\n\n"
@ -191,7 +191,7 @@ else
echo -e "$FAILURE_MSG" echo -e "$FAILURE_MSG"
send_notification "high" \ send_notification "high" \
"[$HOSTNAME] Borg Check Issues" \ "Borg Check Issues" \
"$FAILURE_MSG" "$FAILURE_MSG"
# Exit with error code to indicate failure # Exit with error code to indicate failure