Duplicacy Web Edition 0.2.10 Beta is now available

A new beta version of the new web GUI is now available for testing:

https://acrosync.com/duplicacy-web/duplicacy_web_osx_x64_0.2.10.dmg
https://acrosync.com/duplicacy-web/duplicacy_web_installer_win64_0.2.10.exe
https://acrosync.com/duplicacy-web/duplicacy_web_linux_x64_0.2.10
https://acrosync.com/duplicacy-web/duplicacy_web_linux_arm_0.2.10

Run the downloaded executable and then point the browser to http://127.0.0.1:3875/dashboard. You can change the listening address in the settings page.

Version 0.2.10 changes:

  • Fixed a bug in regex matching causing file names with spaces to be truncated in the restore file list
  • Remove the filters file when deleting a backup so it won’t be reused when a new backup is created
  • Fixed a bug that caused the notification emails to not include logs from the jobs other than the first one
  • Implement Dark mode for the system tray icon (by setting dark_mode to true in ~/.duplicacy-web/settings.json)
  • Fixed the restore file list for Firefox and Internet Explorer

Version 0.2.8 changes:

  • Fixed a bug in date calculation that caused an out-of-bound index error when displaying the Storage page
  • Make email notifications work with more SMPT servers
  • Fixed a bug that caused file listing sessions to expire too quickly

Version 0.2.7 changes:

  • Fixed a bug where backup ids didn’t get refreshed after a different storage is selected

Version 0.2.6 changes:

  • Fixed a bug in adding patterns when the backup directory is a root drive
  • Fixed a bug in scheduling that causes a different schedule to run when the time is reached

Version 0.2.5 changes:

  • Fixed a bug in parallel job execution
  • Create a separate Restore page for restore operations
  • Move job control buttons to the job row for less confusion

Version 0.2.4 changes:

  • Fixed a bug that caused some dialogs to be hidden behind others
  • Fixed an out-of-bound index error when there are too many backup IDs in one storage
  • Fixed a bug in showing the Storages page where certain file listing can crash the program
  • Fixed chart color recycling
  • Catch errors occurring inside goroutines to make the program more stable

Version 0.2.1 changes:

  • Now works on Internet Explorer 11
  • The dialog to add patterns can now be closed
  • Fixed a bug that caused the prune operation to only run after two clicks
  • Hide console windows when running CLI commands
  • Fixed a bug that caused some error message boxes to become hidden in the background
  • Fixed a bug that caused include/exclude patterns to have no effect
  • Changed default port to 3875

Version 0.2 changes:

  • Restore operations start in the Storages page, not the Backups page
  • Backups can be manually started without creating a schedule first
  • System tray icon (only on Windows and macOS, not Linux)
  • Email notification after schedule completion
  • An optional administration password to protect the access to the web pages
  • The Activities graph on the dashboard can now be zoomed in and zoomed out
  • You can now activate your existing GUI licenses in this version (again, only the backup operation requires a license). A 30-day trial license will be downloaded automatically when the program starts for the first time

Most bugs reported in the first beta thread should be fixed. If not, please report it in this thread.

This beta version is feature-complete. It will become 1.0 after bug fixes.

Many thanks for testing and offering valuable feedback!

6 Likes
  1. Go to Schedule page, see single item scheduled. X button is disabled.
    Click to change it to parallel and then cancel.
    Now X button is enabled.
    https://1drv.ms/v/s!ArUmnWK8FkGnkpoFlBXFvNf6J3hfgg

  2. When creating the job and adding filters the item in the table still appears as “none”. https://1drv.ms/v/s!ArUmnWK8FkGnkpoGOWWYJ4SgoCR8oQ
    During backup filters are not being applied.

    mymbp:logs me$ tail -f backup-20181214-011458.log
    Running backup command from /Users/me/.duplicacy-web/repositories/localhost/0 to back up /Users/me
    Options: [-log backup -storage tuchka -stats]
    2018-12-14 01:14:58.193 INFO REPOSITORY_SET Repository set to /Users/alex
    2018-12-14 01:14:58.193 INFO STORAGE_SET Storage set to sftp://me@myserver//Backups/duplicacy
    2018-12-14 01:15:01.044 INFO BACKUP_START Last backup at revision 361 found
    2018-12-14 01:15:01.044 INFO BACKUP_INDEXING Indexing /Users/alex
    2018-12-14 01:15:15.403 WARN LIST_SKIP Skipped non-regular file Library/Developer/Xcode/GPUToolsAgent.sock
    ^C

    mymbp:~ me$ ls /Users/me/.duplicacy-web/repositories/localhost/0
    mymbp:~ me$

There is no “filters” file. Looks like GUI misplaces it. Actual filters turn out to be here /Users/me/.duplicacy-web/filters/localhost/0, and yet the command line version does not seem to pick it up.

  1. on the Storages page the button Restore shall not be that close to the button “delete storage” and should look differently. Those are two completely different type of operations both in meaning and frequency of use and yet both are controlled by the same tiny, hard to click buttons hiding in the corner

  2. Path to keyfile for SFTP storage doesn’t work if ~ is present. I mean, GUI accepts it, but then does not work:

     2018-12-14 00:52:25.455 INFO SSH_PUBLICKEY Failed to read the private key file: open ~/.duplicacy/id_rda_duplicacy: no such file or directory
    

and yet

mymbp:logs me$ file ~/.duplicacy/id_rda_duplicacy
/Users/me/.duplicacy/id_rda_duplicacy: PEM RSA private key
  1. If non-existing server is provided in SFTP settings, and Browse For Directory is clicked, the empty dialog is presented over the message that the server is not accessible. https://1drv.ms/u/s!ArUmnWK8FkGnkpoHGW7RYNXYjTDqbA

  2. Selecting destination directory on SFTP server via the GUI yields path as server/share/path as opposed to server//share/path. note double //. I had to go and change that in Duplicacy.json manually to avoid “faltered to upload chunk xxxx” errors.

Now backup works, but filters are being ignored, so it is unusable for further testing.

Thanks @gchen

I just installed it.

Here are my first impressions (windows).

1-For each operation the CLI runs in a new command window in the foreground.
New window per concurrent operation. This did not happen before.
Could we change it, please?.
(steals focus)

2.1- Email config: is there a global server config for email notifications?
or Is it per job? it would be better as a global setting.

3.1-OTOH the restore process is awesome now. :blush:
3.2 If no destination is selected it should restore to the original repository.
3.3. I wish there could be an option to rename existing files (something like “do not overwrite existing”)

4-I could not find a place to input the license on the GUI.

5-How do we run it as a service? we could be prompted during install.

Feature requests:

6.1-log files could be generated with the name of the schedule, please. (also see 6.3 for log naming)
Also the operation result could be on the log filename as a keyword eg: backup-20181214-093001-success.log.
6.2 For email notifications - There should be a setting to email just on failure.
6.3- And an option for just a weekly (or config interval) report.
This could work parsing the relevant log file or on a new json file with a history of operation codes for each job.

Thanks again

I disagree here. I think you may either risk to have your files modified by the restore, or the restore will error saying that the files already exist. I would very much like to be asked where to restore, and not let duplicacy do it wherever it pleases.

This may lead to data loss/corruption: duplicacy renames current file and tries to restore existing and internet dies. You’re left with 2 “bad” files.
I think it may be an option to rename the restored file instead, but don’t touch my existing files.

I agree that explicit action is necessary.
But it could be a checkbox “restore to original location”.

I see that I was not clear. I meant exactly that:

1 Like

This beta version is feature-complete. It will become 1.0 after bug fixes.

@gchen So no Windows service support in version 1.0?

4-I could not find a place to input the license on the GUI.

@bkeeper It’s on top left on “backup” page … very intuitive :slight_smile:

EDIT:
@gchen Find a bug:
I I name existing schedule (on schedule page in menu under clock icon) then “Activites” on Dashboards disappear and are empty
Before naming:

After naming:

And web gui don’t allow remove name, so if I want “Activites” back, I have to edit JSON config.

Thanks @Flibble
I get that this version is supposed to manage multiple hosts but there should be a section in the dashboard or settings,

The previous 0.1 beta listened on all IPs, while the new one only listens on 127.0.0.1.

Is there a way to get it to listen on all, or a specific, IP address?

To get it to listen on all addresses, change the Listening address in Settings > Startup Options from 127.0.0.1:8080 to 0.0.0.0:8080.

These buttons will be enabled only when there is a selected job (with a dark background). When you changed the parallel option you actually clicked the job row which made it a selected job.

The bug here is that the filter link should not be clickable when the schedule is running.

This is a CSS z-index issue.

Both are valid paths. server/share/pathmeans the path share/path is relative to the home directory while server//share/path means the path /share/path is an absolute path.

I think duplicacy web should be able to detect presence of existing .duplicacy repository in the directory user is adding and offer to automatically import the configuration (storage, filters, keys).

This will definitely make users life easier and perhaps aid in faster adoption (transition).

2 Likes

I don’t see this problem when testing on Windows 10. Which version of Windows are you running? Anyone else have this problem?

It is per schedule.

This will be a feature for 1.1 release.

I don’t like this option personally, because when you don’t receive an email you can’t tell if the schedule runs ok or if the schedule doesn’t get run at all.

But the filters are still not being passed to the command line utility, that is the actual bug. I would not worry much about wrong label in the UI.

I don’t dispute that;

What I mean is that I configured path to storage by browsing to it on the server using the app UI (as opposed to typing it in), so I would expect the UI to put the correct notation of the path. And yet, it configured itself to /which didn’t work, until I corrected it manually to //.

In other words, using app UI to co figure the path results in broken configuration.

Right. It will be in version 1.1.

This is a bug but I won’t fix it because it only affects users from beta 1 (which allows you to create schedules without a name).

Multiple host support is planned for version 1.1.

I’m running it on a remote headless server. I’ve tried opening the web interface from the command line using Links, but it doesn’t work.

Can I edit a configuration file to do this? There are a set of files under ~/.duplicacy-web created by the last beta that did listen on all addresses.

I’m using windows 10 pro.
I can confirm that it still happens and it’s very annoying. bc the command prompt appears once per job and gets on top of everything else.

The only thing that changed is that before I had beta 0.1 exe placed in the same directory ("\Users\user.duplicacy-web") and for 0.2 the setup created the exe in %appdata%
Could that be it?

Please help me debug this @gchen .

hehe I knew it.

as soon as I saw your implementation. :slightly_smiling_face:

Any chance we get API endpoints for multiple host support? :pray:

1-For each operation the CLI runs in a new command window in the foreground.
New window per concurrent operation. This did not happen before.
Could we change it, please?.

I don’t see this problem when testing on Windows 10. Which version of Windows are you running? Anyone else have this problem?

I have this problem too, Windows 10 1803
It looks like this: https://imgur.com/a/qlYxBVT and https://imgur.com/a/5Upxx3o

Also in beta 0.1 and now in beta 0.2 I noticed strange behavior with purge command.
If I run it once, I get “Prune in progress” https://imgur.com/a/Jpl6iRz
If I run it again I get “Completed” https://imgur.com/a/YwMnGaA
If I run it again I get “Prune in progress” https://imgur.com/a/dH5LXIn
If I run it again I get “Completed” https://imgur.com/a/Pe91fBr
and so on …
So if I want to purge, I had to start it twice
Log in .duplicacy-web\logs is created only if status is “Completed”

Nothing interesting in purge log:

Running prune command from C:\Users\user.duplicacy-web/repositories/localhost/all
Options: [-log prune -storage Appdata_disk_J -keep 0:1800 -keep 2:60 -keep 1:37 -dry-run -id users_appdatabeta]
2018-12-15 10:50:01.194 INFO STORAGE_SET Storage set to J:\Duplicacy_2018_cil\BETA\Appdata_duplicacy_cil
2018-12-15 10:50:01.197 INFO RETENTION_POLICY Keep no snapshots older than 1800 days
2018-12-15 10:50:01.197 INFO RETENTION_POLICY Keep 1 snapshot every 2 day(s) if older than 60 day(s)
2018-12-15 10:50:01.197 INFO RETENTION_POLICY Keep 1 snapshot every 1 day(s) if older than 37 day(s)
2018-12-15 10:50:01.410 INFO SNAPSHOT_NONE No snapshot to delete

If you set the following in your home directory in ~/.duplicacy-web/settings.json, it’ll set the listening address to all interfaces on port 8080:

{
    "listening_address": "0.0.0.0:8080"
}

edit: removing the errant comma as identified by @AnthonyCartmell further down. I had copy/pasted my settings.json and removed a couple of the lines without removing the now-unnecessary comma.