Compare commits
No commits in common. "a98e863719e490d9491e3f20ec0b46832f816ff5" and "38c63e6ad123a8664be47f8861287475b1a9361e" have entirely different histories.
a98e863719
...
38c63e6ad1
|
@ -8,10 +8,6 @@ in
|
|||
inputs.agenix-rekey.nixosModules.default
|
||||
];
|
||||
|
||||
nixpkgs.overlays = [
|
||||
inputs.agenix-rekey.overlays.default
|
||||
];
|
||||
|
||||
environment.systemPackages = with pkgs; [
|
||||
agenix-rekey
|
||||
];
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
{ outputs, ... }:
|
||||
{ inputs, outputs, ... }:
|
||||
|
||||
{
|
||||
imports = [
|
||||
|
@ -10,6 +10,8 @@
|
|||
|
||||
nixpkgs = {
|
||||
overlays = [
|
||||
# Overlays exported from other flakes
|
||||
inputs.agenix-rekey.overlays.default
|
||||
# Overlays our own flake exports
|
||||
outputs.overlays.additions
|
||||
outputs.overlays.modifications
|
||||
|
|
|
@ -1,15 +1,13 @@
|
|||
{ ... }:
|
||||
let
|
||||
port = "3000";
|
||||
in
|
||||
|
||||
{
|
||||
virtualisation.oci-containers.containers = {
|
||||
adguardhome = {
|
||||
autoStart = true;
|
||||
image = "adguard/adguardhome:v0.107.51";
|
||||
image = "adguard/adguardhome";
|
||||
ports = [
|
||||
"53:53" # Plain DNS
|
||||
"${port}:3000" # WEBGUI
|
||||
"3000:3000" # WEBGUI
|
||||
];
|
||||
volumes = [
|
||||
"/srv/containers/adguardhome/work:/opt/adguardhome/work"
|
||||
|
@ -35,7 +33,7 @@ in
|
|||
|
||||
services.traefik.dynamicConfigOptions.http.services = {
|
||||
adguard-home.loadBalancer.servers = [
|
||||
{ url = "http://127.0.0.1:${port}"; }
|
||||
{ url = "http://127.0.0.1:3000"; }
|
||||
];
|
||||
};
|
||||
}
|
||||
|
|
|
@ -11,7 +11,6 @@
|
|||
./radarr.nix
|
||||
./recyclarr.nix
|
||||
./sonarr.nix
|
||||
./mealie.nix
|
||||
./microbin
|
||||
];
|
||||
virtualisation.oci-containers.backend = "docker";
|
||||
|
|
|
@ -1,15 +1,13 @@
|
|||
{ ... }:
|
||||
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.6";
|
||||
image = "jellyfin/jellyfin:10.8.12";
|
||||
ports = [
|
||||
"${port}:8096/tcp" # HTTP traffic
|
||||
"8096:8096/tcp" # HTTP traffic
|
||||
"8920:8920/tcp" # HTTPS traffic
|
||||
# "1900:1900/udp" # Service auto-discovery
|
||||
"7359:7359/udp" # Client auto-discovery
|
||||
|
@ -26,7 +24,6 @@ in
|
|||
"--device=/dev/dri/renderD128:/dev/dri/renderD128"
|
||||
"--network=media-stack"
|
||||
];
|
||||
user = "1000:100";
|
||||
};
|
||||
};
|
||||
|
||||
|
@ -45,7 +42,7 @@ in
|
|||
|
||||
services.traefik.dynamicConfigOptions.http.services = {
|
||||
jellyfin.loadBalancer.servers = [
|
||||
{ url = "http://127.0.0.1:${port}"; }
|
||||
{ url = "http://127.0.0.1:8096"; }
|
||||
];
|
||||
};
|
||||
}
|
||||
|
|
|
@ -1,23 +1,17 @@
|
|||
{ ... }:
|
||||
let
|
||||
port = "5055";
|
||||
in
|
||||
|
||||
{
|
||||
virtualisation.oci-containers.containers = {
|
||||
# Request management
|
||||
jellyseerr = {
|
||||
autoStart = true;
|
||||
image = "ghcr.io/hotio/jellyseerr:release-1.9.2";
|
||||
image = "ghcr.io/hotio/jellyseerr";
|
||||
ports = [
|
||||
"${port}:5055/tcp" # WebUI
|
||||
"5055:5055/tcp" # WebUI
|
||||
];
|
||||
volumes = [
|
||||
"/srv/containers/jellyseerr:/config"
|
||||
];
|
||||
environment = {
|
||||
PUID = "1000";
|
||||
PGID = "100";
|
||||
};
|
||||
extraOptions = [
|
||||
"--network=media-stack"
|
||||
];
|
||||
|
@ -39,7 +33,7 @@ in
|
|||
|
||||
services.traefik.dynamicConfigOptions.http.services = {
|
||||
jellyseerr.loadBalancer.servers = [
|
||||
{ url = "http://127.0.0.1:${port}"; }
|
||||
{ url = "http://127.0.0.1:5055"; }
|
||||
];
|
||||
};
|
||||
}
|
||||
|
|
|
@ -1,15 +1,13 @@
|
|||
{ ... }:
|
||||
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.3.3.4204";
|
||||
image = "ghcr.io/hotio/lidarr:nightly-2.0.2.3782";
|
||||
ports = [
|
||||
"${port}:8686/tcp" # WebUI
|
||||
"8686:8686/tcp" # WebUI
|
||||
];
|
||||
volumes = [
|
||||
# Media library
|
||||
|
@ -17,10 +15,6 @@ in
|
|||
# Container data
|
||||
"/srv/containers/lidarr:/config:rw"
|
||||
];
|
||||
environment = {
|
||||
PUID = "1000";
|
||||
PGID = "100";
|
||||
};
|
||||
extraOptions = [
|
||||
"--network=media-stack"
|
||||
];
|
||||
|
@ -42,7 +36,7 @@ in
|
|||
|
||||
services.traefik.dynamicConfigOptions.http.services = {
|
||||
lidarr.loadBalancer.servers = [
|
||||
{ url = "http://127.0.0.1:${port}"; }
|
||||
{ url = "http://127.0.0.1:8686"; }
|
||||
];
|
||||
};
|
||||
}
|
||||
|
|
|
@ -1,48 +0,0 @@
|
|||
{ ... }:
|
||||
let
|
||||
port = "9925";
|
||||
in
|
||||
{
|
||||
virtualisation.oci-containers.containers = {
|
||||
mealie = {
|
||||
autoStart = true;
|
||||
image = "ghcr.io/mealie-recipes/mealie:v1.8.0";
|
||||
ports = [
|
||||
"${port}:9000"
|
||||
];
|
||||
volumes = [
|
||||
"/srv/containers/mealie:/app/data/"
|
||||
];
|
||||
environment = {
|
||||
ALLOW_SIGNUP = "false";
|
||||
PUID = "1000";
|
||||
PGID = "100";
|
||||
TZ = "Australia/Perth";
|
||||
MAX_WORKERS = "1";
|
||||
WEB_CONCURRENCY = "1";
|
||||
BASE_URL = "https://mealie.kanto.dev";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
services.traefik.dynamicConfigOptions.http.routers = {
|
||||
mealie = {
|
||||
rule = "Host(`mealie.kanto.dev`)";
|
||||
entryPoints = [
|
||||
"websecure"
|
||||
];
|
||||
middlewares = [
|
||||
"internal"
|
||||
];
|
||||
service = "mealie";
|
||||
};
|
||||
};
|
||||
|
||||
services.traefik.dynamicConfigOptions.http.services = {
|
||||
mealie.loadBalancer.servers = [
|
||||
{ url = "http://127.0.0.1:${port}"; }
|
||||
];
|
||||
};
|
||||
|
||||
}
|
||||
|
|
@ -1,13 +1,11 @@
|
|||
{ config, ... }:
|
||||
let
|
||||
port = "8181";
|
||||
in
|
||||
|
||||
{
|
||||
age.secrets.microbin = {
|
||||
# Environment variables for microbin
|
||||
rekeyFile = ./environment.age;
|
||||
owner = "sajenim";
|
||||
group = "users";
|
||||
owner = "root";
|
||||
group = "root";
|
||||
};
|
||||
|
||||
virtualisation.oci-containers.containers = {
|
||||
|
@ -16,7 +14,7 @@ in
|
|||
autoStart = true;
|
||||
image = "danielszabo99/microbin:2.0";
|
||||
ports = [
|
||||
"${port}:8080/tcp" # WebUI
|
||||
"8181:8080/tcp" # WebUI
|
||||
];
|
||||
volumes = [
|
||||
# Container data
|
||||
|
@ -43,7 +41,7 @@ in
|
|||
|
||||
services.traefik.dynamicConfigOptions.http.services = {
|
||||
microbin.loadBalancer.servers = [
|
||||
{ url = "http://127.0.0.1:${port}"; }
|
||||
{ url = "http://127.0.0.1:8181"; }
|
||||
];
|
||||
};
|
||||
}
|
||||
|
|
|
@ -1,24 +1,18 @@
|
|||
{ ... }:
|
||||
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.18.0.4543";
|
||||
image = "ghcr.io/hotio/prowlarr:nightly-1.10.3.4070";
|
||||
ports = [
|
||||
"${port}:9696/tcp" # WebUI
|
||||
"9696:9696/tcp" # WebUI
|
||||
];
|
||||
volumes = [
|
||||
# Container data
|
||||
"/srv/containers/prowlarr:/config:rw"
|
||||
];
|
||||
environment = {
|
||||
PUID = "1000";
|
||||
PGID = "100";
|
||||
};
|
||||
extraOptions = [
|
||||
"--network=media-stack"
|
||||
];
|
||||
|
@ -39,7 +33,7 @@ in
|
|||
|
||||
services.traefik.dynamicConfigOptions.http.services = {
|
||||
prowlarr.loadBalancer.servers = [
|
||||
{ url = "http://127.0.0.1:${port}"; }
|
||||
{ url = "http://127.0.0.1:9696"; }
|
||||
];
|
||||
};
|
||||
}
|
||||
|
|
|
@ -1,15 +1,13 @@
|
|||
{ ... }:
|
||||
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";
|
||||
image = "ghcr.io/hotio/qbittorrent:release-4.6.0";
|
||||
ports = [
|
||||
"${port}:8080/tcp" # WebUI
|
||||
"8080:8080/tcp" # WebUI
|
||||
"32372:32372/tcp" # Transport protocol
|
||||
];
|
||||
volumes = [
|
||||
|
@ -17,10 +15,6 @@ in
|
|||
"/srv/multimedia/torrents:/data/torrents:rw"
|
||||
"/srv/containers/qbittorrent:/config:rw"
|
||||
];
|
||||
environment = {
|
||||
PUID = "1000";
|
||||
PGID = "100";
|
||||
};
|
||||
extraOptions = [
|
||||
"--network=media-stack"
|
||||
];
|
||||
|
@ -42,7 +36,7 @@ in
|
|||
|
||||
services.traefik.dynamicConfigOptions.http.services = {
|
||||
qbittorrent.loadBalancer.servers = [
|
||||
{ url = "http://127.0.0.1:${port}"; }
|
||||
{ url = "http://127.0.0.1:8080"; }
|
||||
];
|
||||
};
|
||||
}
|
||||
|
|
|
@ -1,15 +1,13 @@
|
|||
{ ... }:
|
||||
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.6.0.8846";
|
||||
image = "ghcr.io/hotio/radarr:nightly-5.1.3.8237";
|
||||
ports = [
|
||||
"${port}:7878/tcp" # WebUI
|
||||
"7878:7878/tcp" # WebUI
|
||||
];
|
||||
volumes = [
|
||||
# Media library
|
||||
|
@ -17,10 +15,6 @@ in
|
|||
# Container data
|
||||
"/srv/containers/radarr:/config:rw"
|
||||
];
|
||||
environment = {
|
||||
PUID = "1000";
|
||||
PGID = "100";
|
||||
};
|
||||
extraOptions = [
|
||||
"--network=media-stack"
|
||||
];
|
||||
|
@ -41,7 +35,7 @@ in
|
|||
|
||||
services.traefik.dynamicConfigOptions.http.services = {
|
||||
radarr.loadBalancer.servers = [
|
||||
{ url = "http://127.0.0.1:${port}"; }
|
||||
{ url = "http://127.0.0.1:7878"; }
|
||||
];
|
||||
};
|
||||
}
|
||||
|
|
|
@ -5,14 +5,13 @@
|
|||
# Automatically synchronize recommended settings from the TRaSH guides to your Sonarr/Radarr instances
|
||||
recyclarr = {
|
||||
autoStart = true;
|
||||
image = "ghcr.io/recyclarr/recyclarr:6.0.2";
|
||||
image = "ghcr.io/hotio/recyclarr:6.0";
|
||||
volumes = [
|
||||
"/srv/containers/recyclarr:/config"
|
||||
];
|
||||
extraOptions = [
|
||||
"--network=media-stack"
|
||||
];
|
||||
user = "1000:100";
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
|
@ -1,15 +1,13 @@
|
|||
{ ... }:
|
||||
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.5.1710";
|
||||
image = "ghcr.io/hotio/sonarr:nightly-4.0.0.710";
|
||||
ports = [
|
||||
"${port}:8989/tcp" # WebUI
|
||||
"8989:8989/tcp" # WebUI
|
||||
];
|
||||
volumes = [
|
||||
# Media library
|
||||
|
@ -17,10 +15,6 @@ in
|
|||
# Container data
|
||||
"/srv/containers/sonarr:/config:rw"
|
||||
];
|
||||
environment = {
|
||||
PUID = "1000";
|
||||
PGID = "100";
|
||||
};
|
||||
extraOptions = [
|
||||
"--network=media-stack"
|
||||
];
|
||||
|
@ -42,7 +36,7 @@ in
|
|||
|
||||
services.traefik.dynamicConfigOptions.http.services = {
|
||||
sonarr.loadBalancer.servers = [
|
||||
{ url = "http://127.0.0.1:${port}"; }
|
||||
{ url = "http://127.0.0.1:8989"; }
|
||||
];
|
||||
};
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue