Compare commits
5 Commits
4fecd838ae
...
4fddb06060
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
4fddb06060 | ||
|
|
c0b289d2bc | ||
|
|
ce18785ccb | ||
|
|
ca24f7dae7 | ||
|
|
5ca9ecfe2a |
@@ -1,2 +1,3 @@
|
||||
POSTGRES_PASSWORD={{ nextcloud_db_password }}
|
||||
BORG_PASSPHRASE={{ borg_passphrase }}
|
||||
SMTP_PASSWORD={{ smtp_password }}
|
||||
|
||||
@@ -1,4 +1,11 @@
|
||||
FROM b3vis/borgmatic:latest-msmtp
|
||||
FROM b3vis/borgmatic:latest
|
||||
|
||||
# Install stdbuf, used by backup.sh
|
||||
RUN \
|
||||
echo "* Installing Runtime Packages" \
|
||||
&& apk upgrade --no-cache \
|
||||
&& echo "* Installing Runtime Packages" \
|
||||
&& apk add -U --no-cache \
|
||||
coreutils
|
||||
COPY --chmod=755 backup.sh /backup.sh
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
#!/bin/sh
|
||||
# Run the backup and mail the logs:
|
||||
# Depending on parameter 1:
|
||||
# - test-smtp: just send a test email to $MAIL_TO
|
||||
# - test-smtp: just send a test email using $APPRISE_URI
|
||||
# - run: create the backup, no checks
|
||||
# - check: prune, compact and check the backup
|
||||
# Anything else is an error.
|
||||
@@ -9,8 +9,6 @@
|
||||
set -o pipefail
|
||||
|
||||
# Set up environment
|
||||
/bin/sh /scripts/msmtprc.sh
|
||||
/bin/sh /scripts/env.sh
|
||||
RUN_COMMAND="borgmatic --stats -v 2 create"
|
||||
CHECK_COMMAND="borgmatic --stats -v 1 prune compact check"
|
||||
LOGFILE="/tmp/backup_run_$(date +%s).log"
|
||||
@@ -31,7 +29,7 @@ indent() {
|
||||
log() {
|
||||
# Adapted from https://stackoverflow.com/a/31151808
|
||||
{
|
||||
"$@" 2>&1 1>&3 3>&- | indent " ! "
|
||||
stdbuf -oL -eL "$@" 2>&1 1>&3 3>&- | indent " ! "
|
||||
} 3>&1 1>&2 | indent " | " | tee -a "$LOGFILE"
|
||||
}
|
||||
|
||||
@@ -43,14 +41,12 @@ report() {
|
||||
log echo "FAILED: $RESULT"
|
||||
PREFIX="$FAILED_PREFIX"
|
||||
fi
|
||||
printf "Subject: %s: '%s'\n\n%s\n" "$PREFIX" "$PARAM" "$(cat $LOGFILE)" |
|
||||
sendmail -t "$MAIL_TO"
|
||||
apprise -vv -t "$PREFIX: '$PARAM'" -b "$(cat $LOGFILE)" "$APPRISE_URI&pass=$SMTP_PASSWORD"
|
||||
log echo "Report sent."
|
||||
}
|
||||
|
||||
testmail() {
|
||||
echo -e "Subject: TESTING!\n\ntest mail, please ignore\n" |
|
||||
sendmail -t "$MAIL_TO"
|
||||
apprise -vv -t "TESTING!" -b "test mail, please ignore." "$APPRISE_URI&pass=$SMTP_PASSWORD"
|
||||
}
|
||||
|
||||
failed() {
|
||||
@@ -72,7 +68,7 @@ trap cleanup EXIT
|
||||
|
||||
case "$PARAM" in
|
||||
test-smtp)
|
||||
echo "Testing mail to $MAIL_TO"
|
||||
echo "Testing mail to via Apprise ($APPRISE_URI)"
|
||||
testmail
|
||||
echo "Done."
|
||||
;;
|
||||
|
||||
@@ -260,20 +260,18 @@ services:
|
||||
- ./volumes/borg-ssh-config:/root/.ssh/ # ssh keys; sshd writes knownhosts etc here
|
||||
|
||||
environment:
|
||||
# Work around the use of a fancy init system s6:
|
||||
# https://github.com/borgmatic-collective/docker-borgmatic/issues/320#issuecomment-2089003361
|
||||
S6_KEEP_ENV: 1
|
||||
|
||||
POSTGRES_USER: nextcloud
|
||||
POSTGRES_DB: nextcloud
|
||||
POSTGRES_HOST: postgres
|
||||
BORG_ARCHIVE: nick
|
||||
BORG_ARCHIVE_LABEL: snackpot
|
||||
MAIL_RELAY_HOST: mail.noodlefactory.co.uk
|
||||
MAIL_PORT: 25
|
||||
MAIL_AUTH_METHOD: login
|
||||
MAIL_STARTTLS: 'on'
|
||||
MAIL_USER: nc.noodlefactory.co.uk
|
||||
MAIL_FROM: borgmatic@snackpot.noodlefactory.co.uk
|
||||
MAIL_TO: nick@noodlefactory.co.uk
|
||||
MAIL_SUBJECT: Borgmatic Backup
|
||||
# MAIL_PASSWORD is set via volumes/borgmatic-config/msmtp.env, created via ansible
|
||||
APPRISE_URI: "mailtos://mail.noodlefactory.co.uk:25?user=nc.noodlefactory.co.uk&from=borgmatic@snackpot.noodlefactory.co.uk&to=nick@noodlefactory.co.uk"
|
||||
# SMTP_PASSWORD is set via borgmatic.env, created via ansible,
|
||||
# and appended to APPRISE_URL by borgmatic/backup.sh script
|
||||
# Test SMTP auth on the server https://doc.dovecot.org/admin_manual/debugging/debugging_authentication/
|
||||
env_file:
|
||||
- ./borgmatic.env
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
FROM deluan/navidrome:0.54.4
|
||||
FROM deluan/navidrome:0.55.2
|
||||
|
||||
RUN apk add --no-cache mpv
|
||||
# Ensure that navidrome has access to these directories
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
FROM jwilder/nginx-proxy:alpine-0.7.0
|
||||
FROM jwilder/nginx-proxy:1.7-alpine
|
||||
|
||||
COPY uploadsize.conf /etc/nginx/conf.d/uploadsize.conf
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
FROM alpine:3.19
|
||||
FROM alpine:3.21
|
||||
|
||||
RUN apk update \
|
||||
&& apk upgrade \
|
||||
|
||||
Reference in New Issue
Block a user