nixos/etebase-server: Leverage $PATH

This simplifies the existing module
but also enables consumers to call `etebase-server`
from custom preStart commands (i.e. user creation commands).
This commit is contained in:
Aneesh Agrawal 2022-11-08 01:54:14 -05:00 committed by Bjørn Forsman
parent aefc89e236
commit 2fc8504223

View File

@ -179,21 +179,21 @@ in
description = "An Etebase (EteSync 2.0) server";
after = [ "network.target" "systemd-tmpfiles-setup.service" ];
wantedBy = [ "multi-user.target" ];
path = [ pythonEnv ];
serviceConfig = {
User = cfg.user;
Restart = "always";
WorkingDirectory = cfg.dataDir;
};
environment = {
PYTHONPATH = "${pythonEnv}/${pkgs.python3.sitePackages}";
ETEBASE_EASY_CONFIG_PATH = configIni;
};
preStart = ''
# Auto-migrate on first run or if the package has changed
versionFile="${cfg.dataDir}/src-version"
if [[ $(cat "$versionFile" 2>/dev/null) != ${pkgs.etebase-server} ]]; then
${pythonEnv}/bin/etebase-server migrate --no-input
${pythonEnv}/bin/etebase-server collectstatic --no-input --clear
etebase-server migrate --no-input
etebase-server collectstatic --no-input --clear
echo ${pkgs.etebase-server} > "$versionFile"
fi
'';
@ -204,7 +204,7 @@ in
else "-b 0.0.0.0 -p ${toString cfg.port}";
in ''
cd "${pythonEnv}/lib/etebase-server";
${pythonEnv}/bin/daphne ${networking} \
daphne ${networking} \
etebase_server.asgi:application
'';
};