46 lines
890 B
Nix
46 lines
890 B
Nix
{
|
|
name,
|
|
hostInfo,
|
|
dsl,
|
|
...
|
|
}:
|
|
let
|
|
inherit (dsl) mkContainer mkService;
|
|
inherit (hostInfo.paths) data;
|
|
in
|
|
mkContainer {
|
|
inherit name;
|
|
svc.autoStart = true;
|
|
resources.fs."/app/data" = {
|
|
hostPath = "${data}/web/reposilite";
|
|
isReadOnly = false;
|
|
};
|
|
users = [
|
|
{
|
|
name = "reposilite";
|
|
uid = 1000;
|
|
home = "/app";
|
|
}
|
|
];
|
|
service =
|
|
{ pkgs, lib, ... }:
|
|
mkService {
|
|
description = "Reposilite";
|
|
execStart = "${lib.getExe' pkgs.reposilite "reposilite"} --working-directory /app/data";
|
|
workingDir = "/app/data";
|
|
serviceConfig = {
|
|
User = "reposilite";
|
|
PrivateTmp = true;
|
|
ReadWritePaths = [ "/app/data" ];
|
|
};
|
|
}
|
|
// {
|
|
environment.JAVA_OPTS = "-Xmx128M";
|
|
};
|
|
net.expose.tcp = [ 8080 ];
|
|
miscProperties.nginx = {
|
|
domain = "maven.floweytf.com";
|
|
port = 8080;
|
|
};
|
|
}
|