This commit is contained in:
@@ -11,13 +11,13 @@ in
|
||||
options.my.servers.drpp = setup.mkOptions "drpp" "drpp" 0;
|
||||
config.virtualisation.oci-containers.containers.drpp = lib.mkIf cfg.enable {
|
||||
image = "ghcr.io/phin05/discord-rich-presence-plex:latest";
|
||||
environment = {
|
||||
DRPP_UID = toString config.users.users.jawz.uid;
|
||||
DRPP_GID = toString config.users.groups.users.gid;
|
||||
};
|
||||
volumes = [
|
||||
"${config.my.containerData}/drpp:/app/data"
|
||||
"/run/user/${toString config.users.users.jawz.uid}:/run/app"
|
||||
];
|
||||
environment = {
|
||||
DRPP_UID = toString config.users.users.jawz.uid;
|
||||
DRPP_GID = toString config.users.groups.users.gid;
|
||||
};
|
||||
};
|
||||
}
|
||||
|
||||
@@ -15,9 +15,7 @@ in
|
||||
flameSecret = setup.mkOptions "flameSecret" "qampqwn4wprhqny8h8zj" 5007;
|
||||
};
|
||||
config = lib.mkIf enable {
|
||||
sops.secrets = {
|
||||
flame.sopsFile = ../../secrets/env.yaml;
|
||||
};
|
||||
sops.secrets.flame.sopsFile = ../../secrets/env.yaml;
|
||||
virtualisation.oci-containers.containers = lib.mkIf enable {
|
||||
flame = lib.mkIf cfg.enable {
|
||||
autoStart = true;
|
||||
|
||||
@@ -9,11 +9,11 @@ let
|
||||
cfg = config.my.servers.gitea;
|
||||
in
|
||||
{
|
||||
options.my.servers.gitea = setup.mkOptions "gitea" "git" 9083;
|
||||
imports = [
|
||||
../nix/gitea-actions-runners/nixos.nix
|
||||
../nix/gitea-actions-runners/docker.nix
|
||||
];
|
||||
options.my.servers.gitea = setup.mkOptions "gitea" "git" 9083;
|
||||
config = lib.mkIf (cfg.enable && config.my.secureHost) {
|
||||
sops.secrets.gitea.sopsFile = ../../secrets/env.yaml;
|
||||
users.groups.gitea.gid = 974;
|
||||
|
||||
@@ -154,8 +154,8 @@
|
||||
icon = "${name}.png";
|
||||
href = url;
|
||||
widget = {
|
||||
type = name;
|
||||
inherit url;
|
||||
type = name;
|
||||
username = "{{HOMEPAGE_VAR_QBIT_USERNAME}}";
|
||||
password = "{{HOMEPAGE_VAR_QBIT_PASSWORD}}";
|
||||
};
|
||||
@@ -169,8 +169,8 @@
|
||||
icon = "${name}.png";
|
||||
href = url;
|
||||
widget = {
|
||||
type = name;
|
||||
inherit url;
|
||||
type = name;
|
||||
key = "{{HOMEPAGE_VAR_SABNZBD}}";
|
||||
};
|
||||
};
|
||||
@@ -231,9 +231,9 @@
|
||||
icon = "paperless.png";
|
||||
href = url;
|
||||
widget = {
|
||||
inherit url;
|
||||
type = name;
|
||||
key = "{{HOMEPAGE_VAR_PAPERLESS}}";
|
||||
inherit url;
|
||||
fields = [
|
||||
"total"
|
||||
"inbox"
|
||||
@@ -262,9 +262,9 @@
|
||||
icon = "${name}.png";
|
||||
href = url;
|
||||
widget = {
|
||||
inherit url;
|
||||
type = name;
|
||||
key = "{{HOMEPAGE_VAR_STASH}}";
|
||||
inherit url;
|
||||
fields = [
|
||||
"scenes"
|
||||
"images"
|
||||
|
||||
@@ -22,14 +22,12 @@
|
||||
{
|
||||
openweathermap = {
|
||||
label = "Apodaca";
|
||||
format.maximumFractionDigits = 1;
|
||||
latitude = 25.760339;
|
||||
longitude = -100.2190662;
|
||||
units = "metric";
|
||||
provider = "openweathermap";
|
||||
cache = 5;
|
||||
format = {
|
||||
maximumFractionDigits = 1;
|
||||
};
|
||||
};
|
||||
}
|
||||
]
|
||||
|
||||
@@ -54,11 +54,9 @@ in
|
||||
};
|
||||
timers.sub-sync = {
|
||||
enable = true;
|
||||
timerConfig.OnCalendar = "20:00";
|
||||
description = "syncronizes subtitles downloaded & modified today";
|
||||
wantedBy = [ "timers.target" ];
|
||||
timerConfig = {
|
||||
OnCalendar = "20:00";
|
||||
};
|
||||
};
|
||||
};
|
||||
})
|
||||
|
||||
@@ -13,11 +13,6 @@ in
|
||||
autoStart = true;
|
||||
image = "linuxserver/lidarr:latest";
|
||||
ports = [ "${toString cfg.port}:${toString cfg.port}" ];
|
||||
environment = {
|
||||
TZ = config.my.timeZone;
|
||||
PUID = toString config.users.users.jawz.uid;
|
||||
PGID = toString config.users.groups.piracy.gid;
|
||||
};
|
||||
volumes = [
|
||||
"/srv/pool/multimedia:/data"
|
||||
"/srv/pool/multimedia/media/Music:/music"
|
||||
@@ -31,5 +26,10 @@ in
|
||||
extraOptions = [
|
||||
"--network=host"
|
||||
];
|
||||
environment = {
|
||||
TZ = config.my.timeZone;
|
||||
PUID = toString config.users.users.jawz.uid;
|
||||
PGID = toString config.users.groups.piracy.gid;
|
||||
};
|
||||
};
|
||||
}
|
||||
|
||||
@@ -15,6 +15,7 @@ in
|
||||
image = "krateng/maloja:latest";
|
||||
ports = [ "${toString cfg.port}:${toString cfg.port}" ];
|
||||
environmentFiles = [ config.sops.secrets.maloja.path ];
|
||||
volumes = [ "${config.my.containerData}/maloja:/mljdata" ];
|
||||
environment = {
|
||||
TZ = config.my.timeZone;
|
||||
MALOJA_TIMEZONE = "-6";
|
||||
@@ -23,7 +24,6 @@ in
|
||||
MALOJA_DATA_DIRECTORY = "/mljdata";
|
||||
MALOJA_SKIP_SETUP = "true";
|
||||
};
|
||||
volumes = [ "${config.my.containerData}/maloja:/mljdata" ];
|
||||
};
|
||||
};
|
||||
}
|
||||
|
||||
@@ -15,6 +15,7 @@ in
|
||||
image = "foxxmd/multi-scrobbler:latest";
|
||||
ports = [ "${toString cfg.port}:${toString cfg.port}" ];
|
||||
environmentFiles = [ config.sops.secrets.multi-scrobbler.path ];
|
||||
volumes = [ "${config.my.containerData}/multi-scrobbler:/config" ];
|
||||
environment = {
|
||||
TZ = config.my.timeZone;
|
||||
PUID = toString config.users.users.jawz.uid;
|
||||
@@ -25,7 +26,6 @@ in
|
||||
PLEX_URL = "http://192.168.100.15:32400";
|
||||
WS_ENABLE = "true";
|
||||
};
|
||||
volumes = [ "${config.my.containerData}/multi-scrobbler:/config" ];
|
||||
};
|
||||
};
|
||||
}
|
||||
|
||||
@@ -21,8 +21,8 @@ let
|
||||
version = "12.70";
|
||||
in
|
||||
{
|
||||
pname = "Image-ExifTool";
|
||||
inherit version;
|
||||
pname = "Image-ExifTool";
|
||||
src = pkgs.fetchurl {
|
||||
url = "https://exiftool.org/Image-ExifTool-${version}.tar.gz";
|
||||
hash = "sha256-TLJSJEXMPj870TkExq6uraX8Wl4kmNerrSlX3LQsr/4=";
|
||||
@@ -54,7 +54,9 @@ in
|
||||
"openssl-1.1.1v"
|
||||
];
|
||||
users = {
|
||||
groups.nextcloud = { inherit gid; };
|
||||
groups.nextcloud = {
|
||||
inherit gid;
|
||||
};
|
||||
users.nextcloud = {
|
||||
inherit uid;
|
||||
isSystemUser = true;
|
||||
@@ -189,20 +191,24 @@ in
|
||||
go-vod = lib.mkIf config.my.servers.go-vod.enable {
|
||||
autoStart = true;
|
||||
image = "radialapps/go-vod:latest";
|
||||
volumes = [ "ncdata:/var/www/html:ro" ];
|
||||
extraOptions = [
|
||||
"--device=/dev/dri" # VA-API (omit for NVENC)
|
||||
];
|
||||
environment = {
|
||||
TZ = config.my.timeZone;
|
||||
NEXTCLOUD_HOST = "https://${config.services.nextcloud.hostName}";
|
||||
NVIDIA_VISIBLE_DEVICES = "all";
|
||||
};
|
||||
volumes = [ "ncdata:/var/www/html:ro" ];
|
||||
extraOptions = [
|
||||
"--device=/dev/dri" # VA-API (omit for NVENC)
|
||||
];
|
||||
};
|
||||
collabora = lib.mkIf cfgC.enable {
|
||||
autoStart = true;
|
||||
image = "collabora/code:latest";
|
||||
ports = [ "${toString cfgC.port}:${toString cfgC.port}" ];
|
||||
extraOptions = [
|
||||
"--cap-add"
|
||||
"MKNOD"
|
||||
];
|
||||
environment = {
|
||||
TZ = config.my.timeZone;
|
||||
domain = cfg.host;
|
||||
@@ -219,10 +225,6 @@ in
|
||||
DONT_GEN_SSL_CERT = "1";
|
||||
SLEEPFORDEBUGGER = "0";
|
||||
};
|
||||
extraOptions = [
|
||||
"--cap-add"
|
||||
"MKNOD"
|
||||
];
|
||||
};
|
||||
};
|
||||
systemd = lib.mkIf cfg.enableCron {
|
||||
@@ -248,11 +250,9 @@ in
|
||||
};
|
||||
timers.nextcloud-cronjob = {
|
||||
enable = true;
|
||||
timerConfig.OnCalendar = "*:0/10";
|
||||
description = "Runs various nextcloud-related cronjobs";
|
||||
wantedBy = [ "timers.target" ];
|
||||
timerConfig = {
|
||||
OnCalendar = "*:0/10";
|
||||
};
|
||||
};
|
||||
};
|
||||
})
|
||||
|
||||
@@ -99,16 +99,6 @@ in
|
||||
};
|
||||
user = {
|
||||
services = {
|
||||
qbit_manage = {
|
||||
restartIfChanged = true;
|
||||
description = "Tidy up my torrents";
|
||||
wantedBy = [ "default.target" ];
|
||||
serviceConfig = {
|
||||
Type = "oneshot";
|
||||
TimeoutStartSec = "5min";
|
||||
ExecStart = "${qbit_manageEnv}/bin/python ${qbit_manage}/qbit_manage.py -r -c /home/jawz/.config/qbit_manage/config.yml";
|
||||
};
|
||||
};
|
||||
unpackerr = lib.mkIf config.my.servers.unpackerr.enable {
|
||||
enable = true;
|
||||
restartIfChanged = true;
|
||||
@@ -130,6 +120,16 @@ in
|
||||
ExecStart = "${pkgs.unpackerr}/bin/unpackerr";
|
||||
};
|
||||
};
|
||||
qbit_manage = {
|
||||
restartIfChanged = true;
|
||||
description = "Tidy up my torrents";
|
||||
wantedBy = [ "default.target" ];
|
||||
serviceConfig = {
|
||||
Type = "oneshot";
|
||||
TimeoutStartSec = "5min";
|
||||
ExecStart = "${qbit_manageEnv}/bin/python ${qbit_manage}/qbit_manage.py -r -c /home/jawz/.config/qbit_manage/config.yml";
|
||||
};
|
||||
};
|
||||
};
|
||||
timers.qbit_manage = {
|
||||
enable = true;
|
||||
|
||||
@@ -15,13 +15,13 @@ in
|
||||
image = "ghcr.io/ignisda/ryot:v10";
|
||||
ports = [ "${toString cfg.port}:8000" ];
|
||||
environmentFiles = [ config.sops.secrets.ryot.path ];
|
||||
volumes = [ "${config.my.postgresSocket}:${config.my.postgresSocket}" ];
|
||||
environment = {
|
||||
RUST_LOG = "ryot=debug,sea_orm=debug";
|
||||
TZ = config.my.timeZone;
|
||||
DATABASE_URL = "postgres:///ryot?host=${config.my.postgresSocket}";
|
||||
FRONTEND_INSECURE_COOKIES = "true";
|
||||
};
|
||||
volumes = [ "${config.my.postgresSocket}:${config.my.postgresSocket}" ];
|
||||
};
|
||||
};
|
||||
}
|
||||
|
||||
@@ -28,8 +28,12 @@ in
|
||||
config = lib.mkMerge [
|
||||
(lib.mkIf (cfg.enable && config.my.secureHost) {
|
||||
my.servers = {
|
||||
synapse = { inherit domain; };
|
||||
element = { inherit domain; };
|
||||
synapse = {
|
||||
inherit domain;
|
||||
};
|
||||
element = {
|
||||
inherit domain;
|
||||
};
|
||||
};
|
||||
users.groups.matrix-synapse = { inherit gid; };
|
||||
users.users.matrix-synapse = {
|
||||
|
||||
@@ -17,8 +17,8 @@ let
|
||||
version ? "git",
|
||||
}:
|
||||
pkgs.stdenvNoCC.mkDerivation {
|
||||
name = "${libname}-${version}";
|
||||
inherit src;
|
||||
name = "${libname}-${version}";
|
||||
installPhase = ''
|
||||
runHook preInstall
|
||||
mkdir -p "$out/lib/haxe/${withCommas libname}/${withCommas version}"
|
||||
|
||||
@@ -18,6 +18,7 @@ in
|
||||
ports = [ "${toString cfg.port}:8000" ];
|
||||
dependsOn = [ "yamtrack-redis" ];
|
||||
environmentFiles = [ config.sops.secrets.yamtrack.path ];
|
||||
volumes = [ "${config.my.postgresSocket}:${config.my.postgresSocket}" ];
|
||||
environment = {
|
||||
TZ = config.my.timeZone;
|
||||
URLS = cfg.url;
|
||||
@@ -31,7 +32,6 @@ in
|
||||
REDIS_URL = "redis://yamtrack-redis:6379/0";
|
||||
SOCIAL_PROVIDERS = "allauth.socialaccount.providers.openid_connect";
|
||||
};
|
||||
volumes = [ "${config.my.postgresSocket}:${config.my.postgresSocket}" ];
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user