remove some unused services/refactor

This commit is contained in:
♥ Minnie ♥ 2024-10-15 06:27:48 +08:00
parent 7297d48f13
commit 253cdf8ede
Signed by: jasmine
GPG key ID: 8563E358D4E8040E
17 changed files with 8 additions and 271 deletions

View file

@ -0,0 +1,52 @@
{...}: let
port = "8096";
in {
virtualisation.oci-containers.containers = {
# Volunteer-built media solution that puts you in control of your media
jellyfin = {
autoStart = true;
image = "jellyfin/jellyfin:10.9.9";
ports = [
"${port}:8096/tcp" # HTTP traffic
"8920:8920/tcp" # HTTPS traffic
# "1900:1900/udp" # Service auto-discovery
"7359:7359/udp" # Client auto-discovery
];
volumes = [
# Media library
"/srv/multimedia/library:/media:ro"
# Container data
"/srv/containers/jellyfin/config:/config:rw"
"/srv/containers/jellyfin/cache:/cache:rw"
];
environment = {
PUID = "1000";
PGID = "100";
};
extraOptions = [
"--group-add=303"
"--device=/dev/dri/renderD128:/dev/dri/renderD128"
"--network=media-stack"
];
};
};
services.traefik.dynamicConfigOptions.http.routers = {
jellyfin = {
rule = "Host(`jellyfin.kanto.dev`)";
entryPoints = [
"websecure"
];
middlewares = [
"internal"
];
service = "jellyfin";
};
};
services.traefik.dynamicConfigOptions.http.services = {
jellyfin.loadBalancer.servers = [
{url = "http://127.0.0.1:${port}";}
];
};
}

View file

@ -0,0 +1,46 @@
{...}: let
port = "8686";
in {
virtualisation.oci-containers.containers = {
# # Music collection manager for Usenet and BitTorrent users
lidarr = {
autoStart = true;
image = "ghcr.io/hotio/lidarr:release-2.4.3.4248";
ports = [
"${port}:8686/tcp" # WebUI
];
volumes = [
# Media library
"/srv/multimedia:/data:rw"
# Container data
"/srv/containers/lidarr:/config:rw"
];
environment = {
PUID = "1000";
PGID = "100";
};
extraOptions = [
"--network=media-stack"
];
};
};
services.traefik.dynamicConfigOptions.http.routers = {
lidarr = {
rule = "Host(`lidarr.kanto.dev`)";
entryPoints = [
"websecure"
];
middlewares = [
"internal"
];
service = "lidarr";
};
};
services.traefik.dynamicConfigOptions.http.services = {
lidarr.loadBalancer.servers = [
{url = "http://127.0.0.1:${port}";}
];
};
}

View file

@ -0,0 +1,43 @@
{...}: let
port = "9696";
in {
virtualisation.oci-containers.containers = {
# Indexer manager/proxy built on the popular arr .net/reactjs base stack to integrate with your various PVR apps.
prowlarr = {
autoStart = true;
image = "ghcr.io/hotio/prowlarr:release-1.21.2.4649";
ports = [
"${port}:9696/tcp" # WebUI
];
volumes = [
# Container data
"/srv/containers/prowlarr:/config:rw"
];
environment = {
PUID = "1000";
PGID = "100";
};
extraOptions = [
"--network=media-stack"
];
};
};
services.traefik.dynamicConfigOptions.http.routers = {
prowlarr = {
rule = "Host(`prowlarr.kanto.dev`)";
entryPoints = [
"websecure"
];
middlewares = [
"internal"
];
service = "prowlarr";
};
};
services.traefik.dynamicConfigOptions.http.services = {
prowlarr.loadBalancer.servers = [
{url = "http://127.0.0.1:${port}";}
];
};
}

View file

@ -0,0 +1,46 @@
{...}: let
port = "8487";
in {
virtualisation.oci-containers.containers = {
# # Open-source software alternative to µTorrent
qbittorrent = {
autoStart = true;
image = "ghcr.io/hotio/qbittorrent:release-4.6.5";
ports = [
"${port}:8080/tcp" # WebUI
"32372:32372/tcp" # Transport protocol
];
volumes = [
# Seedbox
"/srv/multimedia/torrents:/data/torrents:rw"
"/srv/containers/qbittorrent:/config:rw"
];
environment = {
PUID = "1000";
PGID = "100";
};
extraOptions = [
"--network=media-stack"
];
};
};
services.traefik.dynamicConfigOptions.http.routers = {
qbittorrent = {
rule = "Host(`qbittorrent.kanto.dev`)";
entryPoints = [
"websecure"
];
middlewares = [
"internal"
];
service = "qbittorrent";
};
};
services.traefik.dynamicConfigOptions.http.services = {
qbittorrent.loadBalancer.servers = [
{url = "http://127.0.0.1:${port}";}
];
};
}

View file

@ -0,0 +1,45 @@
{...}: let
port = "7878";
in {
virtualisation.oci-containers.containers = {
# Movie collection manager for Usenet and BitTorrent users
radarr = {
autoStart = true;
image = "ghcr.io/hotio/radarr:release-5.8.3.8933";
ports = [
"${port}:7878/tcp" # WebUI
];
volumes = [
# Media library
"/srv/multimedia:/data:rw"
# Container data
"/srv/containers/radarr:/config:rw"
];
environment = {
PUID = "1000";
PGID = "100";
};
extraOptions = [
"--network=media-stack"
];
};
};
services.traefik.dynamicConfigOptions.http.routers = {
radarr = {
rule = "Host(`radarr.kanto.dev`)";
entryPoints = [
"websecure"
];
middlewares = [
"internal"
];
service = "radarr";
};
};
services.traefik.dynamicConfigOptions.http.services = {
radarr.loadBalancer.servers = [
{url = "http://127.0.0.1:${port}";}
];
};
}

View file

@ -0,0 +1,46 @@
{...}: let
port = "8989";
in {
virtualisation.oci-containers.containers = {
# PVR for Usenet and BitTorrent users
sonarr = {
autoStart = true;
image = "ghcr.io/hotio/sonarr:release-4.0.8.1874";
ports = [
"${port}:8989/tcp" # WebUI
];
volumes = [
# Media library
"/srv/multimedia:/data:rw"
# Container data
"/srv/containers/sonarr:/config:rw"
];
environment = {
PUID = "1000";
PGID = "100";
};
extraOptions = [
"--network=media-stack"
];
};
};
services.traefik.dynamicConfigOptions.http.routers = {
sonarr = {
rule = "Host(`sonarr.kanto.dev`)";
entryPoints = [
"websecure"
];
middlewares = [
"internal"
];
service = "sonarr";
};
};
services.traefik.dynamicConfigOptions.http.services = {
sonarr.loadBalancer.servers = [
{url = "http://127.0.0.1:${port}";}
];
};
}