[Unit]
Description=Backup PostgreSQL databases

[Service]
Type=oneshot
EnvironmentFile=/etc/postgresql/secrets.env
EnvironmentFile=/etc/postgresql/postgresql.env
Environment=BACKUP_DIR=/srv/postgresql/backups
Environment=POSTGRES_HOST=systemd-postgresql

ExecStartPre=/usr/bin/mkdir -p $BACKUP_DIR
ExecStart=/usr/bin/podman run --name=systemd-%N --replace --rm --network systemd-main -v ${BACKUP_DIR}:/backups -e PGPASSWORD=${POSTGRES_PASSWORD} docker.io/library/postgres:17.4 pg_dump --username=${POSTGRES_USER} --host=${POSTGRES_HOST} --format=custom --file=/backups/${CURRENT_DATETIME}.sql ${POSTGRES_DB}