initial commit
This commit is contained in:
21
config/postgres/init-db/init.sh
Executable file
21
config/postgres/init-db/init.sh
Executable file
@@ -0,0 +1,21 @@
|
||||
#!/bin/bash
|
||||
|
||||
set -e
|
||||
set -u
|
||||
|
||||
function create_database_grant_privilege() {
|
||||
local database=$1
|
||||
echo " Creating database '$database' and granting privileges to '$POSTGRES_USER'"
|
||||
psql -v ON_ERROR_STOP=1 --username "$POSTGRES_USER" <<-EOSQL
|
||||
CREATE DATABASE $database;
|
||||
GRANT ALL PRIVILEGES ON DATABASE $database TO $POSTGRES_USER;
|
||||
EOSQL
|
||||
}
|
||||
|
||||
if [ -n "$POSTGRES_MULTIPLE_DATABASES" ]; then
|
||||
echo "Multiple database creation requested: $POSTGRES_MULTIPLE_DATABASES"
|
||||
for db in $(echo $POSTGRES_MULTIPLE_DATABASES | tr ',' ' '); do
|
||||
create_database_grant_privilege $db
|
||||
done
|
||||
echo "Multiple databases created"
|
||||
fi
|
||||
2
config/postgres/init.sql
Normal file
2
config/postgres/init.sql
Normal file
@@ -0,0 +1,2 @@
|
||||
CREATE DATABASE giteadb;
|
||||
CREATE DATABASE odoodb;
|
||||
31
config/postgres/rotate-backups.sh
Executable file
31
config/postgres/rotate-backups.sh
Executable file
@@ -0,0 +1,31 @@
|
||||
#!/bin/bash
|
||||
set -e
|
||||
|
||||
TIMESTAMP=$(date +%Y%m%d_%H%M%S)
|
||||
|
||||
# Backup Gitea
|
||||
pg_dump -h db -U "$POSTGRES_ADMIN_USER" "$GITEA_DB" | gzip > /backups/backup_${TIMESTAMP}_gitea.dump.gz
|
||||
|
||||
# Backup Odoo
|
||||
pg_dump -h db -U "$POSTGRES_ADMIN_USER" "$ODOO_DB" | gzip > /backups/backup_${TIMESTAMP}_odoo.dump.gz
|
||||
|
||||
# Send backups to nextcloud. Also could use rclone.
|
||||
# Upload Gitea backup
|
||||
curl -T /backups/backup_${TIMESTAMP}_gitea.dump.gz -u "$NEXTCLOUD_USER:$NEXTCLOUD_PASS" "$NEXTCLOUD_URL/remote.php/dav/files/$NEXTCLOUD_USER/gitea/backup_${TIMESTAMP}_gitea.dump.gz"
|
||||
|
||||
# Upload Odoo backup
|
||||
curl -T /backups/backup_${TIMESTAMP}_odoo.dump.gz -u "$NEXTCLOUD_USER:$NEXTCLOUD_PASS" "$NEXTCLOUD_URL/remote.php/dav/files/$NEXTCLOUD_USER/odoo/backup_${TIMESTAMP}_odoo.dump.gz"
|
||||
|
||||
# Cleanup Gitea backups
|
||||
ls -tp /backups/*_gitea.dump.gz | grep -v '/$' | tail -n +${BACKUP_RETAIN_COUNT:-10} | while read file; do
|
||||
echo "$(date) Deleted Gitea backup: $file" >> /backups/cleanup.log
|
||||
rm "$file"
|
||||
done
|
||||
|
||||
# Cleanup Odoo backups
|
||||
ls -tp /backups/*_odoo.dump.gz | grep -v '/$' | tail -n +${BACKUP_RETAIN_COUNT:-10} | while read file; do
|
||||
echo "$(date) Deleted Odoo backup: $file" >> /backups/cleanup.log
|
||||
rm "$file"
|
||||
done
|
||||
|
||||
sleep 86400
|
||||
Reference in New Issue
Block a user