initial commit

This commit is contained in:
2025-11-25 12:27:53 +03:30
commit f9d16ab078
102 changed files with 11156 additions and 0 deletions

21
config/postgres/init-db/init.sh Executable file
View 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
View File

@@ -0,0 +1,2 @@
CREATE DATABASE giteadb;
CREATE DATABASE odoodb;

View 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