Skip to content
/ Gbacky Public

Simple offsite backup that puts files and directories to a Veracrypt vault and then stores the vault on Google Drive. Written in Python For Mint Linux and Ubuntu.

License

Notifications You must be signed in to change notification settings

berchca/Gbacky

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

13 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Gbacky: Simple and Secure Offsite Backups for Linux

Gbacky is a easy-to-use offsite backup utility for Debian-based Linux systems (read: Linux Mint and Ubuntu) that syncs your files to an encrypted VeraCrypt vault and then stores the vault on your Google Drive.

For simplicity and speed of a repetitious task, Gbacky runs automatically when the program is started.

Gbacky Screenshot

Installation

Gbacky requires the VeraCrypt program and an existing VeraCrypt vault in your home directory.. Since the entire vault will be copied each time the program is run, it is best to keep the size of the vault to a minimum, relative to the size of the files you are backing up.

Gbacky does not directly synchronize to Google Drive. Your Veracrypt vault will remain on your local filesystem and a copy will be written to Google Drive.

For end users:

  1. Download the .deb file from this page (link to be added).
  2. Install the package. You can usually do this by double-clicking the file or by running the following command in a terminal from the directory where you downloaded the file:
    sudo apt install ./gbacky_*.deb
    This command will automatically install Gbacky and all of its required dependencies, except Veracrypt.
  3. Install VeraCrypt (if you haven't already). Gbacky depends on VeraCrypt, but to ensure you get the latest version, it is recommended you install it directly from the official website: https://veracrypt.io/
  4. create a VeraCrypt vault. (as mentioned above, avoid making it excessively large).
  5. run it The .deb file should have created an icon in your startup menu. The first time you run Gbacky, it will automatically open the settings window.

First-Time Setup

The first time you launch Gbacky, the Settings window will open automatically, as it needs to be configured. These are the most important options:

  1. VeraCrypt Vault: Select an existing VeraCrypt vault file. Gbacky does not create vaults for you.
  2. Password: Enter the password for your VeraCrypt vault. You can use the "Test" button to verify the password is correct.
  3. To Backup: Click "Add Directories..." to select the files and folders you want to back up. These will be synced into the vault.
  4. GDrive Path: Gbacky will try to "Detect..." your Google Drive mount point automatically. This is typically a path like /run/user/1000/gvfs/google-drive:host=.... (untested: If the program finds multiple Google Drives, it should prompt you. If not, you'll have to add the path manually.)
  5. GDrive Folder: Specify a folder name within your Google Drive where the vault file will be stored (e.g., Backups).
  6. System Password Option: By default, Gbacky will ask for your sudo password each time it runs(as per Veracrypt). You can uncheck "Always ask for system password" to create a secure, passwordless sudo rule specifically for VeraCrypt, allowing for fully automated backups.

Click Save, and you're ready to go.

Usage

  • Main Screen: The main window shows the status of the current backup. The backup will run automatically on startup.
  • Mount / Unmount: When the program is idle, you can quickly mount and unmount your Veracrypt vault for easy access.
  • Empty Vault: This will delete the contents of the mounted vault. Useful for reclaiming space after you've removed directories from your backup list.
  • Settings: Click the gear icon at any time to modify your configuration. (or CTRL-S)

Uninstall

To uninstall the program (without removing configuration), run the following command in a terminal: bash sudo apt remove gbacky To remove the configuration, delete the files manually from ~/.config/Gbacky.

Known Issues

Release version of Gbacky has only been tested on my system, Linux Mint 21.3

For Developers

If you wish to run the application from the source code:

Dependencies

Ensure you have the following packages installed:

sudo apt install python3-pyside2.qtcore python3-pyside2.qtgui python3-pyside2.qtwidgets python3-keyring python3-secretstorage gir1.2-gtk-3.0 libglib2.0-bin rsync veracrypt

Running from Source

Clone the repository and run the main script:

git clone <repository_url>
cd gbacky
python3 Gbacky.py

if you run Gbacky from your own directory, it will use a separate configuration file, et al, stored as Gbacky-dev. This will allow you to continute to use Gbacky even while you're making those sweet improvements we all know it needs so badly.

Building the Package

To share your own version of Gbacky, the package_deb.py script will prepare the necessary file structure (update it to include any additional files you created).

  1. Run the packaging script:
    python3 package_deb.py
  2. Build the .deb file using dpkg-deb:
    dpkg-deb --build gbacky_VERSION_amd64
    (Replace VERSION with the current version number).

Development

This program was developed by Brett James with the use of Gemini, and with some additional contributions from Claude Code.

License

This project is licensed under the AGPL 3.0 License. See the LICENSE file for details.

About

Simple offsite backup that puts files and directories to a Veracrypt vault and then stores the vault on Google Drive. Written in Python For Mint Linux and Ubuntu.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages