Files
nix-config/systems/x86_64-linux/jallen-nas/apps.nix
mjallen18 62736ed77c kavita
2026-03-29 22:24:04 -05:00

268 lines
5.5 KiB
Nix
Executable File

{
config,
lib,
namespace,
...
}:
let
inherit (lib.${namespace}) enabled disabled;
in
{
${namespace} = {
services = {
actual = {
enable = false;
port = 3333;
createUser = true;
reverseProxy = enabled;
};
ai = {
enable = true;
};
arrs.enable = true;
attic = {
enable = true;
port = 9012;
listenAddress = "[::]";
environmentFile = "/run/secrets/jallen-nas/attic-key";
reverseProxy = {
enable = true;
subdomain = "cache";
};
};
authentik = {
enable = true;
configureDb = true;
port = 9000;
reverseProxy = enabled;
environmentFile = "/run/secrets/jallen-nas/authentik-env";
redis = {
enable = true;
port = 6379;
};
};
authentikRac = {
enable = true;
port = 4823;
# environmentFile = "/run/secrets/jallen-nas/authentik-env"; # TODO
};
caddy = enabled;
cockpit = {
enable = true;
port = 9091;
};
calibre = {
enable = false;
port = 8084;
};
calibre-web = {
enable = false;
port = 8083;
};
code-server = {
enable = true;
port = 4444;
extraEnvironment = {
PROXY_DOMAIN = "code.mjallen.dev";
};
};
coturn = {
enable = true;
port = 3478;
reverseProxy = enabled;
};
collabora = {
enable = true;
port = 9980;
reverseProxy = {
enable = true;
subdomain = "office";
};
};
crowdsec = {
enable = true;
port = 8181;
apiKey = config.sops.secrets."jallen-nas/crowdsec-capi".path;
ntfy = {
enable = true;
envFile = config.sops.templates."ntfy.env".path;
};
};
dispatcharr = {
enable = false;
port = 9191;
};
tunarr = {
enable = true;
port = 8000;
};
free-games-claimer = {
enable = false;
port = 6080;
};
gitea = {
enable = true;
port = 3000;
reverseProxy = enabled;
};
guacd = {
enable = true;
port = 4822;
};
glance = {
enable = true;
port = 5555;
};
glances = {
enable = true;
port = 61208;
createUser = true;
};
grimmory = {
enable = false;
port = 6066;
};
headscale = {
enable = false;
port = 2112;
reverseProxy.enable = true;
};
immich = {
enable = true;
port = 2283;
reverseProxy = enabled;
};
jellyfin = {
enable = true;
port = 8096;
reverseProxy = enabled;
};
jellyseerr = {
enable = true;
port = 5055;
createUser = true;
reverseProxy = enabled;
};
kavita = {
enable = true;
port = 5000;
reverseProxy = disabled;
};
lemonade = {
enable = true;
port = 8001;
modelsDir = "/media/nas/main/ai/lemonade/models";
reverseProxy = disabled;
};
lubelogger = {
enable = true;
port = 6754;
reverseProxy = enabled;
};
manyfold = {
enable = true;
port = 3214;
};
matrix = {
enable = true;
port = 8448;
reverseProxy = enabled;
};
minecraft = disabled;
mongodb = disabled;
nebula = {
enable = true;
port = 4242;
lighthouses = [ "10.1.1.1" ];
staticHostMap = {
"10.1.1.1" = [ "mjallen.dev:4242" ];
};
secretsPrefix = "jallen-nas/nebula";
secretsFile = lib.snowfall.fs.get-file "secrets/nas-secrets.yaml";
hostSecretName = "nas";
};
netbootxyz = {
enable = false;
port = 4000;
};
nextcloud = {
enable = true;
port = 9988;
};
ntfy = {
enable = true;
port = 2586;
createUser = true;
reverseProxy = enabled;
};
ocis = disabled;
onlyoffice = {
enable = false;
port = 9200;
};
opencloud = {
enable = false;
port = 9200;
reverseProxy.enable = false;
};
orca-slicer = {
enable = false;
port = 3100;
httpsPort = 3101;
};
paperless = {
enable = true;
port = 28981;
};
paperless-ai = {
enable = true;
port = 28982;
};
protonmail-bridge = {
enable = true;
smtpPort = 1025;
imapPort = 1143;
};
restic-server = {
enable = true;
port = 8008;
};
sparky-fitness-server = {
enable = true;
port = 3010;
};
sparky-fitness = {
enable = true;
port = 3004;
reverseProxy = {
enable = true;
subdomain = "sparky";
};
};
sunshine = {
enable = true;
port = 47989;
};
tdarr = {
enable = false;
port = 8265;
serverPort = 8266;
};
termix = {
enable = true;
port = 7777;
reverseProxy = enabled;
};
unmanic = {
enable = true;
port = 8265;
};
uptime-kuma = {
enable = true;
port = 3001;
};
wyoming = enabled;
};
};
}