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;
|
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 = {
|
services = {
|
||||||
homeassistant = {
|
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