Add media server stack
This commit is contained in:
parent
c95fa674c2
commit
7ee4c06988
2 changed files with 216 additions and 0 deletions
|
|
@ -114,6 +114,137 @@
|
|||
|
||||
autoStart = true;
|
||||
};
|
||||
|
||||
# Plex Media Server
|
||||
containers.plex = {
|
||||
image = "docker.io/linuxserver/plex:latest";
|
||||
|
||||
volumes = [
|
||||
"/home/yanlin/deploy/data/plex/config:/config"
|
||||
"/mnt/storage/appbulk/plex-transcode:/transcode"
|
||||
"/mnt/storage/Media:/data"
|
||||
];
|
||||
|
||||
environment = {
|
||||
PUID = "1000";
|
||||
PGID = "100";
|
||||
TZ = "Europe/Copenhagen";
|
||||
VERSION = "docker";
|
||||
};
|
||||
|
||||
ports = [
|
||||
"32400:32400"
|
||||
];
|
||||
|
||||
extraOptions = [
|
||||
"--network=podman"
|
||||
"--device=/dev/dri:/dev/dri" # Hardware acceleration
|
||||
];
|
||||
|
||||
autoStart = true;
|
||||
};
|
||||
|
||||
# Sonarr TV show management
|
||||
containers.sonarr = {
|
||||
image = "docker.io/linuxserver/sonarr:latest";
|
||||
|
||||
volumes = [
|
||||
"/home/yanlin/deploy/data/sonarr/config:/config"
|
||||
"/mnt/storage/Media:/data"
|
||||
];
|
||||
|
||||
environment = {
|
||||
PUID = "1000";
|
||||
PGID = "100";
|
||||
TZ = "Europe/Copenhagen";
|
||||
};
|
||||
|
||||
ports = [
|
||||
"8989:8989"
|
||||
];
|
||||
|
||||
extraOptions = [
|
||||
"--network=podman"
|
||||
];
|
||||
|
||||
autoStart = true;
|
||||
};
|
||||
|
||||
# Radarr movie management
|
||||
containers.radarr = {
|
||||
image = "docker.io/linuxserver/radarr:latest";
|
||||
|
||||
volumes = [
|
||||
"/home/yanlin/deploy/data/radarr/config:/config"
|
||||
"/mnt/storage/Media:/data"
|
||||
];
|
||||
|
||||
environment = {
|
||||
PUID = "1000";
|
||||
PGID = "100";
|
||||
TZ = "Europe/Copenhagen";
|
||||
};
|
||||
|
||||
ports = [
|
||||
"7878:7878"
|
||||
];
|
||||
|
||||
extraOptions = [
|
||||
"--network=podman"
|
||||
];
|
||||
|
||||
autoStart = true;
|
||||
};
|
||||
|
||||
# Bazarr subtitle management
|
||||
containers.bazarr = {
|
||||
image = "docker.io/linuxserver/bazarr:latest";
|
||||
|
||||
volumes = [
|
||||
"/home/yanlin/deploy/data/bazarr/config:/config"
|
||||
"/mnt/storage/Media:/data"
|
||||
];
|
||||
|
||||
environment = {
|
||||
PUID = "1000";
|
||||
PGID = "100";
|
||||
TZ = "Europe/Copenhagen";
|
||||
};
|
||||
|
||||
ports = [
|
||||
"6767:6767"
|
||||
];
|
||||
|
||||
extraOptions = [
|
||||
"--network=podman"
|
||||
];
|
||||
|
||||
autoStart = true;
|
||||
};
|
||||
|
||||
# qBittorrent torrent client with host networking
|
||||
containers.qbittorrent = {
|
||||
image = "docker.io/linuxserver/qbittorrent:4.6.7";
|
||||
|
||||
volumes = [
|
||||
"/home/yanlin/deploy/data/qbit/config:/config"
|
||||
"/mnt/storage/Media:/data"
|
||||
];
|
||||
|
||||
environment = {
|
||||
PUID = "1000";
|
||||
PGID = "100";
|
||||
TZ = "Europe/Copenhagen";
|
||||
TORRENTING_PORT = "41234";
|
||||
WEBUI_PORT = "8080";
|
||||
};
|
||||
|
||||
extraOptions = [
|
||||
"--network=host" # Use host networking as requested
|
||||
];
|
||||
|
||||
autoStart = true;
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
@ -91,6 +91,56 @@
|
|||
}];
|
||||
};
|
||||
};
|
||||
plex = {
|
||||
rule = "Host(`plex.hs.yanlincs.com`)";
|
||||
service = "plex";
|
||||
tls = {
|
||||
certResolver = "cloudflare";
|
||||
domains = [{
|
||||
main = "*.hs.yanlincs.com";
|
||||
}];
|
||||
};
|
||||
};
|
||||
sonarr = {
|
||||
rule = "Host(`sonarr.hs.yanlincs.com`)";
|
||||
service = "sonarr";
|
||||
tls = {
|
||||
certResolver = "cloudflare";
|
||||
domains = [{
|
||||
main = "*.hs.yanlincs.com";
|
||||
}];
|
||||
};
|
||||
};
|
||||
radarr = {
|
||||
rule = "Host(`radarr.hs.yanlincs.com`)";
|
||||
service = "radarr";
|
||||
tls = {
|
||||
certResolver = "cloudflare";
|
||||
domains = [{
|
||||
main = "*.hs.yanlincs.com";
|
||||
}];
|
||||
};
|
||||
};
|
||||
bazarr = {
|
||||
rule = "Host(`bazarr.hs.yanlincs.com`)";
|
||||
service = "bazarr";
|
||||
tls = {
|
||||
certResolver = "cloudflare";
|
||||
domains = [{
|
||||
main = "*.hs.yanlincs.com";
|
||||
}];
|
||||
};
|
||||
};
|
||||
qbittorrent = {
|
||||
rule = "Host(`qbit.hs.yanlincs.com`)";
|
||||
service = "qbittorrent";
|
||||
tls = {
|
||||
certResolver = "cloudflare";
|
||||
domains = [{
|
||||
main = "*.hs.yanlincs.com";
|
||||
}];
|
||||
};
|
||||
};
|
||||
};
|
||||
services = {
|
||||
homeassistant = {
|
||||
|
|
@ -114,6 +164,41 @@
|
|||
}];
|
||||
};
|
||||
};
|
||||
plex = {
|
||||
loadBalancer = {
|
||||
servers = [{
|
||||
url = "http://localhost:32400";
|
||||
}];
|
||||
};
|
||||
};
|
||||
sonarr = {
|
||||
loadBalancer = {
|
||||
servers = [{
|
||||
url = "http://localhost:8989";
|
||||
}];
|
||||
};
|
||||
};
|
||||
radarr = {
|
||||
loadBalancer = {
|
||||
servers = [{
|
||||
url = "http://localhost:7878";
|
||||
}];
|
||||
};
|
||||
};
|
||||
bazarr = {
|
||||
loadBalancer = {
|
||||
servers = [{
|
||||
url = "http://localhost:6767";
|
||||
}];
|
||||
};
|
||||
};
|
||||
qbittorrent = {
|
||||
loadBalancer = {
|
||||
servers = [{
|
||||
url = "http://localhost:8080";
|
||||
}];
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue