248 lines
5.9 KiB
Nix
Executable File
248 lines
5.9 KiB
Nix
Executable File
{ config, namespace, ... }:
|
|
{
|
|
${namespace} = {
|
|
services = {
|
|
# Existing properly namespaced services
|
|
immich.enable = true;
|
|
jellyfin.enable = true;
|
|
jellyseerr = {
|
|
enable = true;
|
|
dataDir = "/media/nas/main/nix-app-data/jellyseerr";
|
|
};
|
|
lubelogger.enable = true;
|
|
nextcloud.enable = true;
|
|
opencloud = {
|
|
enable = true;
|
|
port = 9200;
|
|
reverseProxy.enable = true;
|
|
};
|
|
onlyoffice.enable = false;
|
|
collabora.enable = true;
|
|
ai.enable = true;
|
|
paperless.enable = true;
|
|
traefik.enable = true;
|
|
wyoming.enable = true;
|
|
|
|
# Newly migrated services
|
|
actual = {
|
|
enable = true;
|
|
port = 3333;
|
|
createUser = true;
|
|
reverseProxy = {
|
|
enable = true;
|
|
subdomain = "actual";
|
|
middlewares = [
|
|
"crowdsec"
|
|
"whitelist-geoblock"
|
|
];
|
|
};
|
|
};
|
|
|
|
ocis.enable = false;
|
|
|
|
ersatztv = {
|
|
enable = true;
|
|
configPath = "/media/nas/main/nix-app-data/ersatztv";
|
|
moviesPath = "/media/nas/main/movies";
|
|
tvPath = "/media/nas/main/tv";
|
|
transcodePath = "/media/nas/main/nix-app-data/transcode";
|
|
};
|
|
|
|
arrs = {
|
|
enable = true;
|
|
localAddress = "10.0.1.51";
|
|
downloadsDir = "/media/nas/main/ssd_app_data/downloads";
|
|
incompleteDownloadsDir = "/media/nas/main/ssd_app_data/downloads-incomplete";
|
|
moviesDir = "/media/nas/main/movies";
|
|
tvDir = "/media/nas/main/tv";
|
|
isosDir = "/media/nas/main/isos";
|
|
radarr = {
|
|
enable = true;
|
|
port = 7878;
|
|
dataDir = "/media/nas/main/nix-app-data/radarr";
|
|
};
|
|
sonarr = {
|
|
enable = true;
|
|
port = 8989;
|
|
dataDir = "/media/nas/main/nix-app-data/sonarr";
|
|
};
|
|
sabnzbd = {
|
|
enable = true;
|
|
port = 8280;
|
|
dataDir = "/media/nas/main/nix-app-data/sabnzbd";
|
|
};
|
|
deluge = {
|
|
enable = false;
|
|
port = 8112;
|
|
};
|
|
jackett = {
|
|
enable = false;
|
|
port = 9117;
|
|
dataDir = "/media/nas/main/nix-app-data/jackett";
|
|
};
|
|
};
|
|
|
|
calibre = {
|
|
enable = true;
|
|
port = 8084;
|
|
webPort = 8083;
|
|
localAddress = "10.0.3.1";
|
|
webDir = "/media/nas/main/nix-app-data/calibre-web";
|
|
dataDir = "/media/nas/main/books";
|
|
};
|
|
|
|
crowdsec = {
|
|
enable = true;
|
|
port = 8181;
|
|
apiAddress = "0.0.0.0";
|
|
apiKey = config.sops.secrets."jallen-nas/crowdsec-capi".path;
|
|
dataDir = "/media/nas/main/nix-app-data/crowdsec";
|
|
};
|
|
|
|
gitea = {
|
|
enable = true;
|
|
httpPort = 3000;
|
|
sshPort = 2222;
|
|
localAddress = "10.0.4.18";
|
|
dataDir = "/media/nas/main/nix-app-data/gitea";
|
|
reverseProxy = {
|
|
enable = true;
|
|
subdomain = "gitea";
|
|
middlewares = [
|
|
"crowdsec"
|
|
"whitelist-geoblock"
|
|
];
|
|
};
|
|
};
|
|
|
|
headscale = {
|
|
enable = false;
|
|
port = 2112;
|
|
dataDir = "/media/nas/main/nix-app-data/headscale";
|
|
reverseProxy = {
|
|
enable = true;
|
|
subdomain = "headscale";
|
|
middlewares = [
|
|
"crowdsec"
|
|
"whitelist-geoblock"
|
|
];
|
|
};
|
|
};
|
|
|
|
unmanic = {
|
|
enable = true;
|
|
configPath = "/media/nas/main/nix-app-data/unmanic/config";
|
|
moviesPath = "/media/nas/main/movies";
|
|
tvPath = "/media/nas/main/tv";
|
|
transcodePath = "/media/nas/main/nix-app-data/unmanic/transcode";
|
|
};
|
|
|
|
uptime-kuma = {
|
|
enable = true;
|
|
port = 3001;
|
|
dataDir = "/media/nas/main/nix-app-data/uptime-kuma";
|
|
};
|
|
|
|
glance = {
|
|
enable = true;
|
|
port = 5555;
|
|
};
|
|
|
|
free-games-claimer.enable = true;
|
|
|
|
manyfold.enable = true;
|
|
|
|
orca-slicer = {
|
|
enable = true;
|
|
httpPort = "3100";
|
|
httpsPort = "3101";
|
|
};
|
|
|
|
tdarr.enable = false;
|
|
|
|
authentik = {
|
|
enable = true;
|
|
port = 9000;
|
|
environmentFile = "/run/secrets/jallen-nas/authentik-env";
|
|
};
|
|
|
|
attic = {
|
|
enable = true;
|
|
port = 9012;
|
|
listenAddress = "[::]";
|
|
environmentFile = "/run/secrets/jallen-nas/attic-key";
|
|
};
|
|
|
|
protonmail-bridge = {
|
|
enable = true;
|
|
smtpPort = 1025;
|
|
imapPort = 1143;
|
|
user = "admin";
|
|
};
|
|
|
|
netbootxyz = {
|
|
enable = true;
|
|
};
|
|
|
|
ntfy = {
|
|
enable = true;
|
|
port = 2586;
|
|
localAddress = "10.0.1.3";
|
|
dataDir = "/media/nas/main/nix-app-data/ntfy";
|
|
reverseProxy = {
|
|
enable = true;
|
|
subdomain = "ntfy";
|
|
middlewares = [
|
|
"crowdsec"
|
|
"whitelist-geoblock"
|
|
];
|
|
};
|
|
};
|
|
|
|
matrix = {
|
|
enable = true;
|
|
port = 8448;
|
|
localAddress = "10.0.1.3";
|
|
dataDir = "/media/nas/main/nix-app-data/matrix-synapse";
|
|
reverseProxy = {
|
|
enable = true;
|
|
subdomain = "matrix";
|
|
middlewares = [
|
|
"crowdsec"
|
|
"whitelist-geoblock"
|
|
];
|
|
};
|
|
};
|
|
|
|
glances = {
|
|
enable = true;
|
|
port = 61208;
|
|
bindAddress = "0.0.0.0";
|
|
};
|
|
|
|
code-server = {
|
|
enable = true;
|
|
port = 4444;
|
|
user = "admin";
|
|
group = "jallen-nas";
|
|
host = "0.0.0.0";
|
|
auth = "none";
|
|
hashedPassword = "$y$j9T$EkPXmsmIMFFZ.WRrBYCxS1$P0kwo6e4.WM5DsqUcEqWC3MrZp5KfCjxffraMFZWu06";
|
|
extraEnvironment = {
|
|
PROXY_DOMAIN = "code.mjallen.dev";
|
|
};
|
|
};
|
|
|
|
restic = {
|
|
enable = true;
|
|
port = 8008;
|
|
dataDir = "/media/nas/main/backup/restic";
|
|
prometheus = true;
|
|
listenAddress = "0.0.0.0";
|
|
htpasswdFile = "/media/nas/main/backup/restic/.htpasswd";
|
|
extraFlags = [ "--no-auth" ];
|
|
};
|
|
};
|
|
};
|
|
}
|