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";
|
||||
name = "Niklas Thörne";
|
||||
};
|
||||
nyanloutre = {
|
||||
email = "paul@nyanlout.re";
|
||||
github = "nyanloutre";
|
||||
name = "Paul Trehiou";
|
||||
};
|
||||
nyarly = {
|
||||
email = "nyarly@gmail.com";
|
||||
github = "nyarly";
|
||||
|
@ -305,6 +305,7 @@
|
||||
hass = 286;
|
||||
monero = 287;
|
||||
ceph = 288;
|
||||
duplicati = 289;
|
||||
|
||||
# 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;
|
||||
monero = 287;
|
||||
ceph = 288;
|
||||
duplicati = 289;
|
||||
|
||||
# When adding a gid, make sure it doesn't match an existing
|
||||
# uid. Users and groups with the same name should have equal
|
||||
|
@ -160,6 +160,7 @@
|
||||
./services/audio/ympd.nix
|
||||
./services/backup/bacula.nix
|
||||
./services/backup/borgbackup.nix
|
||||
./services/backup/duplicati.nix
|
||||
./services/backup/crashplan.nix
|
||||
./services/backup/crashplan-small-business.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 { };
|
||||
|
||||
duplicati = callPackage ../tools/backup/duplicati { };
|
||||
|
||||
duplicity = callPackage ../tools/backup/duplicity {
|
||||
gnupg = gnupg1;
|
||||
};
|
||||
|
Loading…
Reference in New Issue
Block a user