2023-01-17 20:16:50 +01:00
|
|
|
#!/bin/bash
|
|
|
|
|
|
|
|
# Stop on Error
|
|
|
|
set -e
|
|
|
|
|
|
|
|
# Configure those to match your Planka Docker container names
|
|
|
|
PLANKA_DOCKER_CONTAINER_POSTGRES="planka_postgres_1"
|
|
|
|
PLANKA_DOCKER_CONTAINER_PLANKA="planka_planka_1"
|
|
|
|
|
|
|
|
# Create Temporary folder
|
|
|
|
BACKUP_DATETIME=$(date --utc +%FT%H-%M-%SZ)
|
2024-11-27 11:49:55 +01:00
|
|
|
mkdir -p "$BACKUP_DATETIME-backup"
|
2023-01-17 20:16:50 +01:00
|
|
|
|
|
|
|
# Dump DB into SQL File
|
|
|
|
echo -n "Exporting postgres database ... "
|
2024-11-27 11:49:55 +01:00
|
|
|
docker exec -t "$PLANKA_DOCKER_CONTAINER_POSTGRES" pg_dumpall -c -U postgres > "$BACKUP_DATETIME-backup/postgres.sql"
|
2023-01-17 20:16:50 +01:00
|
|
|
echo "Success!"
|
|
|
|
|
|
|
|
# Export Docker Voumes
|
|
|
|
echo -n "Exporting user-avatars ... "
|
2024-11-27 11:49:55 +01:00
|
|
|
docker run --rm --volumes-from "$PLANKA_DOCKER_CONTAINER_PLANKA" -v "$(pwd)/$BACKUP_DATETIME-backup:/backup" ubuntu cp -r /app/public/user-avatars /backup/user-avatars
|
2023-01-17 20:16:50 +01:00
|
|
|
echo "Success!"
|
|
|
|
echo -n "Exporting project-background-images ... "
|
2024-11-27 11:49:55 +01:00
|
|
|
docker run --rm --volumes-from "$PLANKA_DOCKER_CONTAINER_PLANKA" -v "$(pwd)/$BACKUP_DATETIME-backup:/backup" ubuntu cp -r /app/public/project-background-images /backup/project-background-images
|
2023-01-17 20:16:50 +01:00
|
|
|
echo "Success!"
|
|
|
|
echo -n "Exporting attachments ... "
|
2024-11-27 11:49:55 +01:00
|
|
|
docker run --rm --volumes-from "$PLANKA_DOCKER_CONTAINER_PLANKA" -v "$(pwd)/$BACKUP_DATETIME-backup:/backup" ubuntu cp -r /app/private/attachments /backup/attachments
|
2023-01-17 20:16:50 +01:00
|
|
|
echo "Success!"
|
|
|
|
|
|
|
|
# Create tgz
|
|
|
|
echo -n "Creating final tarball $BACKUP_DATETIME-backup.tgz ... "
|
2024-11-27 11:49:55 +01:00
|
|
|
tar -czf "$BACKUP_DATETIME-backup.tgz" \
|
|
|
|
"$BACKUP_DATETIME-backup/postgres.sql" \
|
|
|
|
"$BACKUP_DATETIME-backup/user-avatars" \
|
|
|
|
"$BACKUP_DATETIME-backup/project-background-images" \
|
|
|
|
"$BACKUP_DATETIME-backup/attachments"
|
2023-01-17 20:16:50 +01:00
|
|
|
echo "Success!"
|
|
|
|
|
|
|
|
#Remove source files
|
|
|
|
echo -n "Cleaning up temporary files and folders ... "
|
2024-11-27 11:49:55 +01:00
|
|
|
rm -rf "$BACKUP_DATETIME-backup"
|
2023-01-17 20:16:50 +01:00
|
|
|
echo "Success!"
|
|
|
|
|
|
|
|
echo "Backup Complete!"
|