helm/hosts/profiles/archivebox/default.nix

60 lines
1.2 KiB
Nix
Raw Normal View History

2022-12-13 06:54:06 -08:00
{ config, options, lib, pkgs, ... }:
with lib;
let
# cfg = config.services.archivebox;
dataDir = "/var/lib/archivebox";
user = "archivebox";
port = "8123";
in
{
systemd.services.archivebox-install = {
description = "archivebox install service";
wantedBy = [ "multi-user.target" ];
path = with pkgs; [ coreutils archivebox ];
serviceConfig = {
User = user;
Type = "oneshot";
RemainAfterExit = "yes";
PermissionsStartOnly = true;
};
preStart = ''
mkdir -p "${dataDir}"
chown ${user} "${dataDir}"
'';
script = ''
echo "Setting up wallabag files in ${dataDir} ..."
cd "${dataDir}"
archivebox init
'';
};
systemd.services.archivebox-server = {
description = "archivebox server service";
wantedBy = [ "multi-user.target" ];
path = with pkgs; [ coreutils archivebox ];
serviceConfig = {
User = user;
Type = "oneshot";
RemainAfterExit = "yes";
PermissionsStartOnly = true;
};
preStart = ''
mkdir -p "${dataDir}"
chown ${user} "${dataDir}"
'';
script = ''
echo "Setting up wallabag files in ${dataDir} ..."
cd "${dataDir}"
archivebox server 0.0.0.0:${port}
'';
};
}