refactor containers
This commit is contained in:
parent
8a999ac546
commit
a48829bbe6
4 changed files with 40 additions and 27 deletions
159
nixos/viridian/containers/multimedia.nix
Normal file
159
nixos/viridian/containers/multimedia.nix
Normal file
|
@ -0,0 +1,159 @@
|
|||
{ ... }:
|
||||
|
||||
{
|
||||
virtualisation.oci-containers.containers = {
|
||||
# Volunteer-built media solution that puts you in control of your media
|
||||
jellyfin = {
|
||||
autoStart = true;
|
||||
image = "jellyfin/jellyfin:10.8.12";
|
||||
ports = [
|
||||
"8096:8096/tcp" # HTTP traffic
|
||||
"8920:8920/tcp" # HTTPS traffic
|
||||
# "1900:1900/udp" # Service auto-discovery
|
||||
"7359:7359/udp" # Client auto-discovery
|
||||
];
|
||||
volumes = [
|
||||
# Media library
|
||||
"/mnt/data/htpc/media:/media:ro"
|
||||
# Container data
|
||||
"/var/lib/jellyfin/config:/config:rw"
|
||||
"/var/lib/jellyfin/cache:/cache:rw"
|
||||
];
|
||||
extraOptions = [
|
||||
"--group-add=303"
|
||||
"--device=/dev/dri/renderD128:/dev/dri/renderD128"
|
||||
"--network=media-stack"
|
||||
];
|
||||
};
|
||||
|
||||
# PVR for Usenet and BitTorrent users
|
||||
sonarr = {
|
||||
autoStart = true;
|
||||
image = "ghcr.io/hotio/sonarr:nightly-4.0.0.710";
|
||||
ports = [
|
||||
"8989:8989/tcp" # WebUI
|
||||
];
|
||||
volumes = [
|
||||
# Media library
|
||||
"/mnt/data/htpc:/data:rw"
|
||||
# Container data
|
||||
"/var/lib/sonarr:/config:rw"
|
||||
];
|
||||
extraOptions = [
|
||||
"--network=media-stack"
|
||||
];
|
||||
};
|
||||
|
||||
# Movie collection manager for Usenet and BitTorrent users
|
||||
radarr = {
|
||||
autoStart = true;
|
||||
image = "ghcr.io/hotio/radarr:nightly-5.1.3.8237";
|
||||
ports = [
|
||||
"7878:7878/tcp" # WebUI
|
||||
];
|
||||
volumes = [
|
||||
# Media library
|
||||
"/mnt/data/htpc:/data:rw"
|
||||
# Container data
|
||||
"/var/lib/radarr:/config:rw"
|
||||
];
|
||||
extraOptions = [
|
||||
"--network=media-stack"
|
||||
];
|
||||
};
|
||||
|
||||
# # Music collection manager for Usenet and BitTorrent users
|
||||
lidarr = {
|
||||
autoStart = true;
|
||||
image = "ghcr.io/hotio/lidarr:nightly-2.0.2.3782";
|
||||
ports = [
|
||||
"8686:8686/tcp" # WebUI
|
||||
];
|
||||
volumes = [
|
||||
# Media library
|
||||
"/mnt/data/htpc:/data:rw"
|
||||
# Container data
|
||||
"/var/lib/lidarr:/config:rw"
|
||||
];
|
||||
extraOptions = [
|
||||
"--network=media-stack"
|
||||
];
|
||||
};
|
||||
|
||||
# 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:nightly-1.10.3.4070";
|
||||
ports = [
|
||||
"9696:9696/tcp" # WebUI
|
||||
];
|
||||
volumes = [
|
||||
# Container data
|
||||
"/var/lib/prowlarr:/config:rw"
|
||||
];
|
||||
extraOptions = [
|
||||
"--network=media-stack"
|
||||
];
|
||||
};
|
||||
|
||||
# Automatically synchronize recommended settings from the TRaSH guides to your Sonarr/Radarr instances
|
||||
recyclarr = {
|
||||
autoStart = true;
|
||||
image = "ghcr.io/hotio/recyclarr:6.0";
|
||||
volumes = [
|
||||
"/var/lib/recyclarr:/config"
|
||||
];
|
||||
extraOptions = [
|
||||
"--network=media-stack"
|
||||
];
|
||||
};
|
||||
|
||||
# # Open-source software alternative to µTorrent
|
||||
qbittorrent = {
|
||||
autoStart = true;
|
||||
image = "ghcr.io/hotio/qbittorrent:release-4.6.0";
|
||||
ports = [
|
||||
"8080:8080/tcp" # WebUI
|
||||
"32372:32372/tcp" # Transport protocol
|
||||
];
|
||||
volumes = [
|
||||
# Seedbox
|
||||
"/mnt/data/htpc/torrents:/data/torrents:rw"
|
||||
"/var/lib/qbittorrent:/config:rw"
|
||||
];
|
||||
extraOptions = [
|
||||
"--network=media-stack"
|
||||
];
|
||||
};
|
||||
|
||||
# Request management
|
||||
jellyseerr = {
|
||||
autoStart = true;
|
||||
image = "ghcr.io/hotio/jellyseerr";
|
||||
ports = [
|
||||
"5055:5055/tcp" # WebUI
|
||||
];
|
||||
volumes = [
|
||||
"/var/lib/jellyseerr:/config"
|
||||
];
|
||||
extraOptions = [
|
||||
"--network=media-stack"
|
||||
];
|
||||
};
|
||||
};
|
||||
|
||||
environment.persistence."/persist" = {
|
||||
directories = [
|
||||
"/var/lib/jellyfin/config"
|
||||
"/var/lib/jellyfin/cache"
|
||||
"/var/lib/sonarr"
|
||||
"/var/lib/radarr"
|
||||
"/var/lib/lidarr"
|
||||
"/var/lib/prowlarr"
|
||||
"/var/lib/recyclarr"
|
||||
"/var/lib/qbittorrent"
|
||||
"/var/lib/jellyseerr"
|
||||
];
|
||||
};
|
||||
}
|
||||
|
Loading…
Add table
Add a link
Reference in a new issue