Skip to content

Instantly share code, notes, and snippets.

@bst27
Created August 18, 2020 07:15
Show Gist options
  • Save bst27/1bf1590c5ec0b8b1c331d2a03e237894 to your computer and use it in GitHub Desktop.
Save bst27/1bf1590c5ec0b8b1c331d2a03e237894 to your computer and use it in GitHub Desktop.
A Gitea backup script for Docker: It creates a .zip backup of Gitea running inside Docker and moves the backup file to the current working directory.
#!/bin/bash
# This script creates a .zip backup of gitea running inside docker and copies the backup file to the current working directory
echo "Creating gitea backup inside docker containter ..."
docker exec -u git -it -w /tmp $(docker ps -qf "name=gitea_server_1") bash -c '/app/gitea/gitea dump -c /data/gitea/conf/app.ini --file /tmp/gitea-dump.zip'
echo "Copying backup file from the container to the host machine ..."
docker cp $(docker ps -qf "name=gitea_server_1"):/tmp/gitea-dump.zip /tmp
echo "Removing backup file in container ..."
docker exec -u git -it -w /tmp $(docker ps -qf "name=gitea_server_1") bash -c 'rm /tmp/gitea-dump.zip'
echo "Renaming backup file ..."
BACKUPFILE=gitea-dump-$(date +"%Y%m%d%H%M").zip
mv /tmp/gitea-dump.zip $BACKUPFILE
echo "Backup file is available: "$BACKUPFILE
echo "Done."
@marshyon
Copy link

marshyon commented Sep 5, 2023

nice one, this was very usefull, thanks for posting

@HeeroYui
Copy link

Thanks for this tool.

I use docker compose and I add by default the volume: ***:/data_backup:rw that permit to simply store data with:

docker compose exec -u git -w /tmp gitea_service /app/gitea/gitea dump -c /data/gitea/conf/app.ini --file /data_backup/gitea-dump-$(date +"%Y-%m-%d_%Hh%Mm%Ss").zip

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment