Skip to content

Aiming to be an all-in-one, friendly to new-users, python3 based GUI backup manager for Debian/Ubuntu based systems.

License

Notifications You must be signed in to change notification settings

mamolinux/leaptime-manager

Repository files navigation

Work In Progress

This App is currently under development. So, This is not what a regular user would expect. If you are a developer and would like to contribute, only then download or fork this repo.

Logo

CI build CodeQL build License GitHub repo size Open Issues Open PRs GitHub release (latest by date) Downloads GitHub release (latest by date and asset)

Aiming to be an all-in-one, friendly to new-users, GUI based backup manager for Debian/Ubuntu based systems. The main purpose of this application is to help user backup and restore every component on a Debian/Ubuntu based system ergonomically, elegantly and separately.

ToDo List

Software:

  1. Apt backup
  2. Apt restore

Data: Data backup should have two modes:

  1. Sync mode- where file(s) or directories are synchronized continuously with another keeping only the latest version. Useful for backing up static data like some script which are updated time to time or security keys like ssh or gpg keys. Use one of the following modes

    1. Compressed backup - tar ball of data (Reduces disk-space usage)
    2. Rsync: using rsync
    3. Add option for user-defined time interval to sync data
  2. Incremental mode: Where incremental backups are created like any other backup app. Use one of the following modes

    1. Compressed backup - tar ball of data (Reduces disk-space usage)
    2. Rsync: using rsync
    3. Add option for user-defined time interval to backup data

Download Latest Version

Download Source (.zip)
Download Source (.tar.gz)
Download Binary (.deb)

Features and Screenshots

  1. Backup manually installed applications to a list
  2. Restore applications from backup lists

Main Window (Light) Main Window (Dark) App backup main page (Light) App backup main page (Dark)

Contents

Dependencies

python3
python3-aptdaemon.gtk3widgets
python3-configobj
python3-gi
python3-setproctitle
python3-tldextract

To use or test LeapTime Manager, you need these dependencies to be installed.

Debian/Ubuntu based distro

To install dependencies on Debian/Ubuntu based systems, run:

sudo apt install python3 python3-aptdaemon.gtk3widgets python3-configobj \
python3-gi python3-setproctitle python3-tldextract

Note: If you are using gdebi to install LeapTime Manager from a .deb file, it will automatically install the dependencies and you can skip this step.

Other Linux-based distro

Replace apt install in the command given in Debian/Ubuntu based distros and use the command for the package manager of the target system(eg. yum install, dnf install, pacman -S etc.)

Note: There might be cases where one or more dependencies might not be available for your system. But that is highly unlikely. In such situations, please create an issue.

Build and Install the Latest Version

Debian/Ubuntu based systems

There are two methods, this app can be installed/used on a Debian/Ubuntu based system. First, download and unzip the source package using:

wget https://github.com/mamolinux/leaptime-manager/archive/refs/heads/master.zip
unzip master.zip
cd leaptime-manager-master
  1. Option 1: Manually copying necessary files to root (/). For that, follow the steps below:

    1. [Optional] [In Progress] To make translations/locales in languages other than English, run:

      make
      

      from the leaptime-manager-master in a terminal. It will create the translations/locales in usr/share/locale.

    2. Install python package using pip3:

      sudo pip3 install .
      

      It will install all files under /usr/local/

    3. Compile schemas using:

      sudo glib-compile-schemas /usr/local/share/glib-2.0/schemas
      
  2. Option 2: Build a debian package and install it. To build a debian package on your own:

    1. from the leaptime-manager-master run:

      dpkg-buildpackage --no-sign
      

      This will create a leaptime-manager_*.deb package at ../leaptime-manager-master.

    2. Install the debian package using

      sudo dpkg -i ../leaptime-manager_*.deb
      sudo apt install -f
      

After it is installed, run leaptime-manager from terminal or use the leaptime-manager.desktop.

Other Linux-based systems

  1. Install the dependencies.
  2. From instructions for Debian/Ubuntu based systems, follow Option 1.

For Developers

Instructions for devs are coming soon or create a PR.

I have no knowledge on how to use meson or npm for testing. If you can offer any help regarding this, please start a discussion here or create a PR. It will be more than welcome.

User Manual

Coming Soon or create a PR.

Issue Tracking and Contributing

If you are interested to contribute and enrich the code, you are most welcome. You can do it by:

  1. If you find a bug, to open a new issue with details: Click Here

  2. If you know how to fix a bug or want to add new feature/documentation to the existing package, please create a Pull Request.

Contributors

Author

Himadri Sekhar Basu is the author and current maintainer.

Donations

I am a freelance programmer. So, If you like this app and would like to offer me a coffee ( ☕ ) to motivate me further, you can do so via: