Commit Graph
69 Commits
Author SHA1 Message Date
Kenneth Skovhede c0f40e19ca Updated copyright year to 2026 across the project 2026-04-16 15:21:24 +02:00
Kenneth Skovhede 805489cf6e Roll back supplementary groups
This PR removes the supplementary groups addition to the service files on Linux.

Turns out that the override does not support variables, so it is not possible to supply the groups this way.

The right way to do this is to run something like:
```
sudo systemctl edit duplicati.service
```

Then add the directive:
```
[Service]
SupplementaryGroups=media backup
```

When saving, an override file will be created, likely in:
```
/etc/systemd/system/duplicati.service.d/override.conf
```

You can now reload the daemon, and the override will persist even on package upgrades.
2026-02-18 14:07:20 +01:00
Kenneth Skovhede 581c87ec41 Fix openSuse build
This fixes compatibility with OpenSUSE by using the target filenames as dependencies instead of the package names that differ (libICE vs libICE6).

This fixes #6166
2026-02-09 11:54:53 +01:00
Kenneth Skovhede f5baad77c1 Improved ownership calculation for RPM
This PR narrows the files that are captured as being provided/owned by Duplicati, to avoid cases where it would match something overly broad.

This fixes issue #2540

However, it looks like issue #2540 was resolved in Fedora at some point as it was no longer an issue in Fedora 43.
2026-02-09 10:52:44 +01:00
Kenneth SkovhedeandGitHub 2636dd45e8 Merge pull request #6710 from duplicati/feature/add-appimage-builds
Added support for building AppImage
2026-01-21 14:25:41 +01:00
Kenneth Skovhede 77195c1b57 Fix spelling of supplementary groups
This PR fixes a mis-spelling of supplementary groups used in Linux installs with systemd agents.

This closes #6699
2026-01-17 15:17:41 +01:00
Kenneth Skovhede ccf5977779 Added support for building AppImage
This PR adds support for building AppImage outputs.

This also adds the metainfo.xml to .deb and .rpm packages.
2026-01-16 21:10:37 +01:00
Kenneth Skovhede 03d0bc38bd Fixed high-res package icons 2025-12-18 16:23:46 +01:00
Kenneth Skovhede 940b5f031a Fixed integrated authentication.
API calls are now guarded by DSM auth, including XSRF protection.
2025-12-18 16:23:28 +01:00
Kenneth Skovhede 07f296622d Added support for Synology DSM
This adds back support for Synology DSM.

The implementation is compatible with DSM 7.2+ and integrates with DSM to forward requests through the DSM server into Duplicati.

The setup features database locks, using a random auth-key so DSM handles authentication.

The database is encrypted with a random key, and all data is stored in the `var` folder.

The uninstall can optionally remove the `var` data.

This is still a work in progress. The authentication integration with DSM does not currently work.
2025-12-16 14:47:37 +01:00
Kenneth Skovhede c07416d06d Added build dependencies 2025-12-12 11:53:07 +01:00
Kenneth Skovhede b0c172c646 Fixed an issue with upgrades where the installer would attempt to stop the service with the users permissions and not the elevated permissions.
This splits the stop into CheckService and StopService, so they can run in different contexts.
2025-12-03 14:14:51 +01:00
Kenneth Skovhede e51500ddd5 Added NOSCRIPT feature to MSI
This PR adds an MSI property that can be set with `NOSCRIPT=true`.

Setting the property will disable scripting in the MSI and thus prevent starting/stopping running services.

Also made the stop-service script non-critial, so it is possible to install the MSI even if the script fails to start or returns an error.
2025-12-03 13:00:34 +01:00
Kenneth Skovhede cfaec4d400 This adds support for supplementary groups on Linux.
This fixes #6556
2025-11-21 09:35:11 +01:00
Kenneth Skovhede 3b695cf065 Added support for Photos on MacOS
This PR adds detection of the MacOS Photos folder, and intercepts reads and replaces them with PhotoKit calls.
With this, it is possible to make backups of all MacOS Photos, even if they are not stored locally.

The previous versions would just make a backup of the on-disk structure, which was not guaranteed to contain all photos, but instead has various indexing for finding photos, and may contain some original photos.

The option `--photos-handling` controls how Duplicati now deals with the Photos folder. The options are:
- `LibraryOnly`: Same as before, just treat it as a folder
- `PhotosOnly`: Ignore the folder contents and just back up the actual photos
- `PhotosAndLibrary` (default): Make a backup of the photos and the library on-disk. This may cause images to be stored twice, but de-duplication will usually limit the storage increase.

The option `--photos-library-path` can be used to point to the on-disk Photo library that should be handled, in case the auto-detection does not pick it up. If this does not point to a valid Photoslibrary, or the path is not being backed up, no special handling will be done.

Note that the restore is not restoring into Photos itself, but instead restores into a sub-folder in the Photolibrary that is called `dup_backup`. To get the photos out after a restore, one needs to right-click the Photolibrary folder, and choose "Show package contents" and then the `dup_backup` folder is revealed.

This is done to keep all photos in the same folder, but avoid messing with the structure of the on-disk Photolibrary.

A future update could allow restoring back into Photos, and metadata is captured for each image to eventually allow this.

This fixes #6381
2025-11-17 17:12:10 +01:00
Kenneth Skovhede 1c266110e0 Upgrade to latest libicu in Docker, and switch to libssl3t64 2025-08-19 11:02:31 +02:00
Kenneth Skovhede dc554472aa Improved agent install to complete even if the agent service cannot be started automatically. 2025-08-14 10:21:23 +02:00
Kenneth Skovhede 094be4a9d8 Improve dependency on libicu
Since .NET dynamically loads libicu, it is not prone to ABI breakage and can load virtually any version.

However, there is no `Depends: libicu*` option in Debian packages, so we need the explicit package version. This is prone to breaking as new Debian version bump the version number.

This PR changes the `Depends:` to `Recommends:` so `libicu` is installed if possible, but does not prevent installation.

For cases where the is no `libicu` on the system, there is now a `preinst` script which will warn if the library is missing, but not prevent installation.

The warning should only show in Docker images or similar slim contexts, as `libicu` is otherwise installed with the base system.
2025-08-12 15:34:14 +02:00
Kenneth Skovhede 079f492812 Update Docker images
This updates Docker images to support UID/GID overrides, faling back to running as root.

This also fixes the images to be actually allow executing the binaries as described in the README by adding them to the PATH environment variable.

The README file was overhauled to fix some outdated content and include the new UID/GID override feature.
2025-08-05 13:02:56 +02:00
Kenneth Skovhede 1842f59cec Added descriptions for Apple usage
This adds various access description items, so macOS will prompt the user to grant access in some cases.
2025-06-12 16:33:21 +02:00
Kenneth Skovhede e166918e87 RPM not overwriting config
This PR updates the RPM spec file to mark the config files as such. This ensures that files will not be replaced during updates if they are modified.

Also updated the description slightly to not mention now-defunct services in the description. Also applied this to Debian packages.

The agent based installation has been updated slightly to better differentiate it from the the CLI/GUI package.

Fixed a bug that prevented the preset file from being installed for the agent.

This fixes #6099
2025-05-19 17:27:21 +02:00
wjansenwandGitHub 3d7e791f96 add rclone to docker image 2025-04-08 12:11:39 +02:00
Kenneth Skovhede 989ba60211 Updated license copyright years 2025-02-17 08:52:01 +01:00
Kenneth SkovhedeandGitHub 66daba4b3b Update dmg file (#5844)
* Added resources and script to create DMG template

* Created new empty DMG
2025-01-06 20:59:30 +01:00
Kenneth SkovhedeandGitHub de27ada7b2 The server does not take an argument (#5808) 2024-12-23 00:26:13 +01:00
Kenneth Skovhede 250bea997c Updated launchagent installs on MacOS.
This changes the way launchagents are installed via `.pkg` files.

The installers are updated to no longer use `launchtctl load` but rely on `launchctl bootstrap` instead to load in the current user context.

For the Agent, this fixes a problem where the installer would initially start in a root context.
For the GUI package this changes to not rely on `open` to start Duplicati, as that appears to be incompatible with `bootstrap`
The uninstallers are updated handle both `load` / `unload` and `bootstrap` / `bootout` before removing the launchagents.

This fixes #5766
2024-12-13 09:55:25 +01:00
Kenneth Skovhede 9de6869e5b Added support for restarting the Windows Service, if it is running. 2024-11-22 16:54:06 +01:00
Kenneth Skovhede 711fab94af Fixed MSI upgrade issue.
This changes the removal order to avoid duplicate entries being installed.

Upper-cased the upgrade code as that is what WiX does.
2024-11-22 16:52:48 +01:00
Emmanuel Ferdman 7de3c0076f Update Common.wxs reference
Signed-off-by: Emmanuel Ferdman <emmanuelferdman@gmail.com>
2024-11-15 04:26:37 -08:00
Kenneth Skovhede 8655e38d8a Fixes to RPM agent package 2024-11-09 00:33:56 +01:00
Kenneth Skovhede 69ff76e386 Added autolaunch for Debian 2024-11-09 00:15:46 +01:00
Kenneth Skovhede 9c5adafc20 Added CLI package for MacOS as well 2024-11-08 23:28:42 +01:00
Kenneth Skovhede 176539b421 Added support for building MacOS pkg files for agent 2024-11-08 16:14:44 +01:00
Kenneth Skovhede 6c26a0952e Reverted Agent to FeatureTree UI until the service is ready 2024-11-08 08:37:00 +01:00
Kenneth Skovhede 24bc2defd0 Added support for the Agent MSI 2024-11-07 23:05:55 +01:00
Kenneth Skovhede b56f9b1be2 More DNF fixing 2024-11-06 13:13:02 +01:00
Kenneth Skovhede 5ce5634635 Fix for dnf5 2024-11-06 12:59:22 +01:00
Kenneth Skovhede ecd22ac264 Added support for building agent packages.
Still lacking support for Windows MSI + MacOS pkg as they are currently tied to the TrayIcon being the base.
2024-09-18 15:29:52 +02:00
Kenneth Skovhede a72da626c5 Fixed MSI install problems by removing existing product before installing new version.
This fixes #5233
2024-09-05 15:04:14 +02:00
Kenneth Skovhede 1b3bd236e0 Updated build process to replace ARMv7 binaries to onces compatible with GLIBC from Debian Buster.
This fixes #5533
2024-09-04 20:47:26 +02:00
Kenneth SkovhedeandGitHub 7ddaec499f Merge pull request #5525 from duplicati/feature/fix-msi-upgrade
Setting the version number on files inside the MSI
2024-09-03 14:36:39 +02:00
Kenneth Skovhede 03d3f82b8e Re-enabled the FORSERVICE conditions after a patch to wixl. 2024-09-03 13:52:04 +02:00
Kenneth Skovhede 09176dc3d1 Change strategy for upgrades with MSI, now always treating as major upgrades as we have no patches for now. 2024-09-03 13:51:18 +02:00
Kenneth Skovhede a6a1602a5f Fixed Dockerfile 2024-08-31 11:04:03 +02:00
Kenneth Skovhede 7c2a0f8320 Removed old www prefix 2024-08-29 14:29:34 +02:00
Kenneth Skovhede 722641a48b Updated Docker README to explain the new options 2024-08-29 14:26:51 +02:00
Kenneth Skovhede 2f63987fb5 Switched Dockerfile to use env variables, instead of commandline arguments 2024-08-29 14:26:28 +02:00
Kenneth Skovhede 554c2b7f70 Fixed issues with Docker build files 2024-08-03 00:48:27 +02:00
Kenneth Skovhede 2bbf0207e3 Added newly built libMono.Unix.so with large file support for 32bit Arm.
This fixes #5352
2024-08-02 23:12:32 +02:00
Kenneth Skovhede 44c888de50 Improved .deb package based on linitian output.
This fixes #5255
2024-08-01 16:36:05 +02:00