2024-03-05 15:19:01 -05:00
|
|
|
{ config, pkgs, ... }:
|
2024-03-05 11:47:33 -05:00
|
|
|
{
|
2024-03-05 15:19:01 -05:00
|
|
|
# Open TCP ports for audiobookshelf, plex-server, and transmission-server.
|
|
|
|
networking.firewall.allowedTCPPorts = [ 13378 32400 9091 ];
|
|
|
|
virtualisation = {
|
|
|
|
podman = {
|
|
|
|
enable = true;
|
2024-03-05 11:47:33 -05:00
|
|
|
|
2024-03-05 15:19:01 -05:00
|
|
|
# Create a `docker` alias for podman, to use it as a drop-in replacement
|
|
|
|
dockerCompat = true;
|
|
|
|
|
|
|
|
# Required for containers under podman-compose to be able to talk to each other.
|
|
|
|
defaultNetwork.settings.dns_enabled = true;
|
|
|
|
};
|
|
|
|
oci-containers = {
|
|
|
|
backend = "podman";
|
|
|
|
};
|
|
|
|
|
|
|
|
oci-containers.containers = {
|
|
|
|
audiobookshelf = {
|
|
|
|
ports = ["0.0.0.0:13378:80"];
|
|
|
|
image = "ghcr.io/advplyr/audiobookshelf:latest";
|
2024-03-06 22:14:16 -05:00
|
|
|
volumes = [
|
|
|
|
"/mnt/Media:/Media"
|
|
|
|
];
|
2024-03-05 15:19:01 -05:00
|
|
|
};
|
|
|
|
plex-server = {
|
|
|
|
ports = ["0.0.0.0:32400:32400"];
|
|
|
|
image = "plexinc/pms-docker:public";
|
2024-03-06 22:14:16 -05:00
|
|
|
volumes = [
|
|
|
|
"/mnt/Media:/Media"
|
|
|
|
];
|
2024-03-05 15:19:01 -05:00
|
|
|
};
|
|
|
|
transmission-server = {
|
|
|
|
ports = ["0.0.0.0:9091:9091"];
|
|
|
|
image = "linuxserver/transmission:latest";
|
2024-03-06 22:14:16 -05:00
|
|
|
volumes = [
|
|
|
|
"/mnt/Media:/Media"
|
|
|
|
];
|
2024-03-05 15:19:01 -05:00
|
|
|
};
|
|
|
|
};
|
|
|
|
};
|
2024-03-05 11:47:33 -05:00
|
|
|
}
|