added gitea action gpg and sftp download
Some checks failed
odoo-restore-open_workshop-install / run-odoo-backup-in-docker (push) Failing after 29s

This commit is contained in:
gitea 2025-04-10 20:03:36 +00:00
parent 1aa6bdd851
commit a60947de85
2 changed files with 13 additions and 5 deletions

View File

@ -18,7 +18,7 @@ jobs:
- name: Checkout the repository
# Dieser Schritt holt den Code des Repositories in die Action-Umgebung.
# Dies ist notwendig, um auf Dateien im Repository wie Skripte oder Konfigurationen zugreifen zu können.
uses: actions/checkout@v4
uses: actions/checkout@v3
- name: Load environment variables from .env
run: |
@ -72,9 +72,9 @@ jobs:
# Der Host-Schlüssel wird mit `ssh-keyscan` gesammelt und in `known_hosts` eingetragen.
run: |
echo "This is the host: ${{ secrets.ALL_INKL_HOST }}"
# docker exec ${{ github.workflow }} bash -c "mkdir -p /root/.ssh && touch /root/.ssh/known_hosts && chmod 600 /root/.ssh/known_hosts"
# docker exec ${{ github.workflow }} bash -c "ssh-keyscan -H '${{ secrets.ALL_INKL_HOST }}' >> /root/.ssh/known_hosts"
# docker exec ${{ github.workflow }} bash -c "cat /root/.ssh/known_hosts"
docker exec ${{ github.workflow }} bash -c "mkdir -p /root/.ssh && touch /root/.ssh/known_hosts && chmod 600 /root/.ssh/known_hosts"
docker exec ${{ github.workflow }} bash -c "ssh-keyscan -H '${{ secrets.ALL_INKL_HOST }}' >> /root/.ssh/known_hosts"
docker exec ${{ github.workflow }} bash -c "cat /root/.ssh/known_hosts"
- name: Run the restore script in Docker container
# In diesem Schritt wird das Skript `odoo-restore.sh` in den Container kopiert und dort ausgeführt.

View File

@ -4,7 +4,7 @@ BACKUP_DIR=~ # Verzeichnis, in dem das Backup temporär gespeichert wird.
ODOO_DATABASE=hobbyhimmel # Der Name der Odoo-Datenbank, die wiederhergestellt werden soll.
DEFAULT_URL="http://hobbybackend2.fritz.box:9013" # Standard-URL für die Odoo-Datenbank-Backup-API.
URL="${1:-$DEFAULT_URL}" # Falls ein Argument übergeben wird, wird es als URL genutzt, sonst bleibt die Standard-URL.
BACKUP_NAME=${ODOO_DATABASE}.$(date +%F).zip # Der Name der Backup-Datei, wobei das aktuelle Datum an den Namen angehängt wird.
BACKUP_NAME=${ODOO_DATABASE}.latest.zip # Der Name der Backup-Datei, wobei das aktuelle Datum an den Namen angehängt wird.
# Function to report failure to Cronitor with step
# Diese Funktion meldet einen Fehler an Cronitor und beendet das Skript.
@ -16,6 +16,14 @@ report_failure() {
}
# Überträgt die verschlüsselte Backup-Datei und die "latest" Datei auf den Remote-SFTP-Server.
sshpass -p "${sftp_password}" sftp -i ~/.ssh/id_rsa $sftp_ssh_user@$sftp_host:$remote_directory <<EOF
get $BACKUP_NAME.gpg # holt das letzte "latest" Backup.
EOF
# Backup entschlüsseln
gpg --batch --yes --passphrase "${gpg_password}" -o ${BACKUP_DIR}/${BACKUP_NAME} -d ${BACKUP_DIR}/${BACKUP_NAME}.gpg || report_failure "Backup decryption"
curl -X POST -s \
-F "master_pwd=${ADMIN_PASSWORD}" \
-F "name=${ODOO_DATABASE}" \