update containers

jellyfin, ollama, and scrypted
This commit is contained in:
Joseph Hanson 2025-01-23 10:46:55 -06:00
parent eed4e314a3
commit 13fd35a05f
3 changed files with 35 additions and 37 deletions

View file

@ -4,22 +4,22 @@
pkgs, pkgs,
... ...
}: }:
with lib; with lib; let
let
app = "jellyfin"; app = "jellyfin";
cfg = config.mySystem.containers.${app}; cfg = config.mySystem.containers.${app};
group = "kah"; group = "kah";
image = "ghcr.io/jellyfin/jellyfin:${version}"; image = "ghcr.io/jellyfin/jellyfin:${version}";
user = "kah"; user = "kah";
# renovate: depName=ghcr.io/jellyfin/jellyfin datasource=docker # renovate: depName=ghcr.io/jellyfin/jellyfin datasource=docker
version = "10.10.3"; version = "10.10.4";
volumeLocation = "/nahar/containers/volumes/jellyfin"; volumeLocation = "/nahar/containers/volumes/jellyfin";
in in {
{
# Options # Options
options.mySystem.containers.${app} = { options.mySystem.containers.${app} = {
enable = mkEnableOption "${app}"; enable = mkEnableOption "${app}";
openFirewall = mkEnableOption "Open firewall for ${app}" // { openFirewall =
mkEnableOption "Open firewall for ${app}"
// {
default = true; default = true;
}; };
}; };
@ -29,8 +29,8 @@ in
# Systemd service for container # Systemd service for container
systemd.services.${app} = { systemd.services.${app} = {
description = "Jellyfin Media Server"; description = "Jellyfin Media Server";
wantedBy = [ "multi-user.target" ]; wantedBy = ["multi-user.target"];
after = [ "network.target" ]; after = ["network.target"];
serviceConfig = { serviceConfig = {
ExecStartPre = "${pkgs.writeShellScript "jellyfin-start-pre" '' ExecStartPre = "${pkgs.writeShellScript "jellyfin-start-pre" ''
@ -113,10 +113,10 @@ in
services.restic.backups = config.lib.mySystem.mkRestic { services.restic.backups = config.lib.mySystem.mkRestic {
inherit app user; inherit app user;
environmentFile = config.sops.secrets."restic/jellyfin/env".path; environmentFile = config.sops.secrets."restic/jellyfin/env".path;
excludePaths = [ ]; excludePaths = [];
localResticTemplate = "/eru/restic/jellyfin"; localResticTemplate = "/eru/restic/jellyfin";
passwordFile = config.sops.secrets."restic/jellyfin/password".path; passwordFile = config.sops.secrets."restic/jellyfin/password".path;
paths = [ volumeLocation ]; paths = [volumeLocation];
remoteResticTemplateFile = config.sops.secrets."restic/jellyfin/template".path; remoteResticTemplateFile = config.sops.secrets."restic/jellyfin/template".path;
}; };
# TODO add nginx proxy # TODO add nginx proxy

View file

@ -4,15 +4,13 @@
pkgs, pkgs,
... ...
}: }:
with lib; with lib; let
let
app = "ollama"; app = "ollama";
# renovate: depName=docker.io/ollama/ollama datasource=docker # renovate: depName=docker.io/ollama/ollama datasource=docker
version = "0.5.5"; version = "0.5.7";
image = "docker.io/ollama/ollama:${version}"; image = "docker.io/ollama/ollama:${version}";
cfg = config.mySystem.containers.${app}; cfg = config.mySystem.containers.${app};
in in {
{
# Options # Options
options.mySystem.containers.${app} = { options.mySystem.containers.${app} = {
enable = mkEnableOption "${app}"; enable = mkEnableOption "${app}";
@ -20,7 +18,9 @@ in
# addToHomepage = mkEnableOption "Add ${app} to homepage" // { # addToHomepage = mkEnableOption "Add ${app} to homepage" // {
# default = true; # default = true;
# }; # };
openFirewall = mkEnableOption "Open firewall for ${app}" // { openFirewall =
mkEnableOption "Open firewall for ${app}"
// {
default = true; default = true;
}; };
}; };
@ -30,8 +30,8 @@ in
# Systemd service for container # Systemd service for container
systemd.services.${app} = { systemd.services.${app} = {
description = "Ollama"; description = "Ollama";
wantedBy = [ "multi-user.target" ]; wantedBy = ["multi-user.target"];
after = [ "network.target" ]; after = ["network.target"];
serviceConfig = { serviceConfig = {
ExecStartPre = "${pkgs.writeShellScript "ollama-start-pre" '' ExecStartPre = "${pkgs.writeShellScript "ollama-start-pre" ''
@ -76,7 +76,7 @@ in
allowedTCPPorts = [ allowedTCPPorts = [
11434 # HTTP web interface 11434 # HTTP web interface
]; ];
allowedUDPPorts = [ ]; allowedUDPPorts = [];
}; };
# TODO add nginx proxy # TODO add nginx proxy
@ -131,6 +131,5 @@ in
# paths = [ appFolder ]; # paths = [ appFolder ];
# inherit appFolder; # inherit appFolder;
# }; # };
}; };
} }

View file

@ -4,15 +4,13 @@
pkgs, pkgs,
... ...
}: }:
with lib; with lib; let
let
app = "scrypted"; app = "scrypted";
# renovate: depName=ghcr.io/koush/scrypted datasource=docker versioning=docker # renovate: depName=ghcr.io/koush/scrypted datasource=docker versioning=docker
version = "v0.123.58-jammy-nvidia"; version = "v0.127.1-noble-nvidia";
image = "ghcr.io/koush/scrypted:${version}"; image = "ghcr.io/koush/scrypted:${version}";
cfg = config.mySystem.containers.${app}; cfg = config.mySystem.containers.${app};
in in {
{
# Options # Options
options.mySystem.containers.${app} = { options.mySystem.containers.${app} = {
enable = mkEnableOption "${app}"; enable = mkEnableOption "${app}";
@ -20,7 +18,9 @@ in
# addToHomepage = mkEnableOption "Add ${app} to homepage" // { # addToHomepage = mkEnableOption "Add ${app} to homepage" // {
# default = true; # default = true;
# }; # };
openFirewall = mkEnableOption "Open firewall for ${app}" // { openFirewall =
mkEnableOption "Open firewall for ${app}"
// {
default = true; default = true;
}; };
}; };
@ -30,8 +30,8 @@ in
# Systemd service for container # Systemd service for container
systemd.services.${app} = { systemd.services.${app} = {
description = "Scrypted Home Security"; description = "Scrypted Home Security";
wantedBy = [ "multi-user.target" ]; wantedBy = ["multi-user.target"];
after = [ "network.target" ]; after = ["network.target"];
serviceConfig = { serviceConfig = {
ExecStartPre = "${pkgs.writeShellScript "scrypted-start-pre" '' ExecStartPre = "${pkgs.writeShellScript "scrypted-start-pre" ''
@ -134,6 +134,5 @@ in
# paths = [ appFolder ]; # paths = [ appFolder ];
# inherit appFolder; # inherit appFolder;
# }; # };
}; };
} }