Merge pull request #38533 from nyanloutre/duplicati-package
duplicati: init at 2.0.3.3
This commit is contained in:
commit
1381606b8e
@ -2649,6 +2649,11 @@
|
|||||||
github = "nthorne";
|
github = "nthorne";
|
||||||
name = "Niklas Thörne";
|
name = "Niklas Thörne";
|
||||||
};
|
};
|
||||||
|
nyanloutre = {
|
||||||
|
email = "paul@nyanlout.re";
|
||||||
|
github = "nyanloutre";
|
||||||
|
name = "Paul Trehiou";
|
||||||
|
};
|
||||||
nyarly = {
|
nyarly = {
|
||||||
email = "nyarly@gmail.com";
|
email = "nyarly@gmail.com";
|
||||||
github = "nyarly";
|
github = "nyarly";
|
||||||
|
@ -305,6 +305,7 @@
|
|||||||
hass = 286;
|
hass = 286;
|
||||||
monero = 287;
|
monero = 287;
|
||||||
ceph = 288;
|
ceph = 288;
|
||||||
|
duplicati = 289;
|
||||||
|
|
||||||
# When adding a uid, make sure it doesn't match an existing gid. And don't use uids above 399!
|
# When adding a uid, make sure it doesn't match an existing gid. And don't use uids above 399!
|
||||||
|
|
||||||
@ -578,6 +579,7 @@
|
|||||||
hass = 286;
|
hass = 286;
|
||||||
monero = 287;
|
monero = 287;
|
||||||
ceph = 288;
|
ceph = 288;
|
||||||
|
duplicati = 289;
|
||||||
|
|
||||||
# When adding a gid, make sure it doesn't match an existing
|
# When adding a gid, make sure it doesn't match an existing
|
||||||
# uid. Users and groups with the same name should have equal
|
# uid. Users and groups with the same name should have equal
|
||||||
|
@ -160,6 +160,7 @@
|
|||||||
./services/audio/ympd.nix
|
./services/audio/ympd.nix
|
||||||
./services/backup/bacula.nix
|
./services/backup/bacula.nix
|
||||||
./services/backup/borgbackup.nix
|
./services/backup/borgbackup.nix
|
||||||
|
./services/backup/duplicati.nix
|
||||||
./services/backup/crashplan.nix
|
./services/backup/crashplan.nix
|
||||||
./services/backup/crashplan-small-business.nix
|
./services/backup/crashplan-small-business.nix
|
||||||
./services/backup/mysql-backup.nix
|
./services/backup/mysql-backup.nix
|
||||||
|
40
nixos/modules/services/backup/duplicati.nix
Normal file
40
nixos/modules/services/backup/duplicati.nix
Normal file
@ -0,0 +1,40 @@
|
|||||||
|
{ config, pkgs, lib, ... }:
|
||||||
|
|
||||||
|
with lib;
|
||||||
|
|
||||||
|
let
|
||||||
|
cfg = config.services.duplicati;
|
||||||
|
in
|
||||||
|
{
|
||||||
|
options = {
|
||||||
|
services.duplicati = {
|
||||||
|
enable = mkEnableOption "Duplicati";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
config = mkIf cfg.enable {
|
||||||
|
environment.systemPackages = [ pkgs.duplicati ];
|
||||||
|
|
||||||
|
systemd.services.duplicati = {
|
||||||
|
description = "Duplicati backup";
|
||||||
|
after = [ "network.target" ];
|
||||||
|
wantedBy = [ "multi-user.target" ];
|
||||||
|
serviceConfig = {
|
||||||
|
User = "duplicati";
|
||||||
|
Group = "duplicati";
|
||||||
|
ExecStart = "${pkgs.duplicati}/bin/duplicati-server --webservice-interface=any --webservice-port=8200 --server-datafolder=/var/lib/duplicati";
|
||||||
|
Restart = "on-failure";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
users.extraUsers.duplicati = {
|
||||||
|
uid = config.ids.uids.duplicati;
|
||||||
|
home = "/var/lib/duplicati";
|
||||||
|
createHome = true;
|
||||||
|
group = "duplicati";
|
||||||
|
};
|
||||||
|
users.extraGroups.duplicati.gid = config.ids.gids.duplicati;
|
||||||
|
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
37
pkgs/tools/backup/duplicati/default.nix
Normal file
37
pkgs/tools/backup/duplicati/default.nix
Normal file
@ -0,0 +1,37 @@
|
|||||||
|
{ stdenv, fetchzip, mono, sqlite, makeWrapper }:
|
||||||
|
|
||||||
|
stdenv.mkDerivation rec {
|
||||||
|
name = "duplicati-${version}";
|
||||||
|
version = "2.0.3.3";
|
||||||
|
channel = "beta";
|
||||||
|
build_date = "2018-04-02";
|
||||||
|
|
||||||
|
src = fetchzip {
|
||||||
|
url = "https://github.com/duplicati/duplicati/releases/download/v${version}-${version}_${channel}_${build_date}/duplicati-${version}_${channel}_${build_date}.zip";
|
||||||
|
sha256 = "0hwdpsgrvm3gq648mg9g0z0rk49g71dd8r5i1a8w83pwdqv0hn9c";
|
||||||
|
stripRoot = false;
|
||||||
|
};
|
||||||
|
|
||||||
|
buildInputs = [ makeWrapper ];
|
||||||
|
|
||||||
|
installPhase = ''
|
||||||
|
mkdir -p $out/{bin,share/${name}}
|
||||||
|
cp -r * $out/share/${name}
|
||||||
|
makeWrapper "${mono}/bin/mono" $out/bin/duplicati-cli \
|
||||||
|
--add-flags "$out/share/${name}/Duplicati.CommandLine.exe" \
|
||||||
|
--prefix LD_LIBRARY_PATH : ${stdenv.lib.makeLibraryPath [
|
||||||
|
sqlite ]}
|
||||||
|
makeWrapper "${mono}/bin/mono" $out/bin/duplicati-server \
|
||||||
|
--add-flags "$out/share/${name}/Duplicati.Server.exe" \
|
||||||
|
--prefix LD_LIBRARY_PATH : ${stdenv.lib.makeLibraryPath [
|
||||||
|
sqlite ]}
|
||||||
|
'';
|
||||||
|
|
||||||
|
meta = with stdenv.lib; {
|
||||||
|
description = "A free backup client that securely stores encrypted, incremental, compressed backups on cloud storage services and remote file servers";
|
||||||
|
homepage = https://www.duplicati.com/;
|
||||||
|
license = licenses.lgpl21;
|
||||||
|
maintainers = with maintainers; [ nyanloutre ];
|
||||||
|
platforms = platforms.all;
|
||||||
|
};
|
||||||
|
}
|
@ -2037,6 +2037,8 @@ with pkgs;
|
|||||||
|
|
||||||
duo-unix = callPackage ../tools/security/duo-unix { };
|
duo-unix = callPackage ../tools/security/duo-unix { };
|
||||||
|
|
||||||
|
duplicati = callPackage ../tools/backup/duplicati { };
|
||||||
|
|
||||||
duplicity = callPackage ../tools/backup/duplicity {
|
duplicity = callPackage ../tools/backup/duplicity {
|
||||||
gnupg = gnupg1;
|
gnupg = gnupg1;
|
||||||
};
|
};
|
||||||
|
Loading…
Reference in New Issue
Block a user