Users should be able to pick and choose what directories they want to back up. User's should be able to view backup status (last backup, next scheduled, progress of current backup, space used by backups). User's should also be able to "activate" backups (start using backups on a non-backed-up installation), schedule and start backups, and more?
Note on premium
Backups are a premium feature, however, the premium license key generation process is on hold until we can prove this project is worth commercializing.
In the mean time, backups should be enabled for a user if path_to.premium_key_file in config.yml exists. Later, we will do a check to validate this key. For now, just enable it if the file exists.
Note on services
Every service has a data folder at /mnt/usb/apps/{service_name} (read true path from config.yml). This data should certainly be included in the backup for a service. However, some services have paths defined in their variables. For example, plex has app data, but also library data.
A user may want to backup these additional directories in addition to their service data. Need some way to append arbitrary directories to a service's backup queue.
API
/backups/{service_name}/enable
enable scheduled backups for a service
/backups/{service_name}/disable
stop backing up data for this service
/backups/{service_name/snapshot}
do a one-off backup for this service
/services
modify this route to include backup information for rendering (last backup date, next backup, folder size, etc.)
Add more routes as needed.
UI
The service view for each service should have a component that displays backup status for that service. A user should be able to enable/disable backups for a service on that service's page.
Additionally, there should be a new "backups" page available in the settings tab. Here should show the total backups space used and space consumed by each service. A user should set their desired backups frequency (daily, weekly, etc.)
Overview
Users should be able to pick and choose what directories they want to back up. User's should be able to view backup status (last backup, next scheduled, progress of current backup, space used by backups). User's should also be able to "activate" backups (start using backups on a non-backed-up installation), schedule and start backups, and more?
Note on premium
Backups are a premium feature, however, the premium license key generation process is on hold until we can prove this project is worth commercializing.
In the mean time, backups should be enabled for a user if
path_to.premium_key_file
inconfig.yml
exists. Later, we will do a check to validate this key. For now, just enable it if the file exists.Note on services
Every service has a
data
folder at/mnt/usb/apps/{service_name}
(read true path fromconfig.yml
). This data should certainly be included in the backup for a service. However, some services have paths defined in their variables. For example, plex has app data, but also library data.A user may want to backup these additional directories in addition to their service data. Need some way to append arbitrary directories to a service's backup queue.
API
/backups/{service_name}/enable
/backups/{service_name}/disable
/backups/{service_name/snapshot}
/services
Add more routes as needed.
UI
The service view for each service should have a component that displays backup status for that service. A user should be able to enable/disable backups for a service on that service's page.
Additionally, there should be a new "backups" page available in the settings tab. Here should show the total backups space used and space consumed by each service. A user should set their desired backups frequency (daily, weekly, etc.)