working on media server
This commit is contained in:
parent
1ccd1f23d8
commit
efbc368db3
4 changed files with 219 additions and 6 deletions
|
@ -1,4 +1,8 @@
|
||||||
{ common }:
|
{ inputs }:
|
||||||
|
let
|
||||||
|
common = inputs.common;
|
||||||
|
nixarr = inputs.nixarr;
|
||||||
|
in
|
||||||
{
|
{
|
||||||
config,
|
config,
|
||||||
...
|
...
|
||||||
|
@ -32,6 +36,78 @@
|
||||||
firewall.trustedInterfaces = [ "ve-*" ];
|
firewall.trustedInterfaces = [ "ve-*" ];
|
||||||
};
|
};
|
||||||
|
|
||||||
|
# containers.nixarr =
|
||||||
|
# let
|
||||||
|
# name = "nixarr";
|
||||||
|
# # hostDataDir = "/var/lib/${name}";
|
||||||
|
# hostAddress = "10.0.0.1";
|
||||||
|
# containerAddress = "10.0.0.3";
|
||||||
|
# hostAddress6 = "fc00::1";
|
||||||
|
# containerAddress6 = "fc00::3";
|
||||||
|
# in
|
||||||
|
# {
|
||||||
|
# ephemeral = true;
|
||||||
|
# autoStart = true;
|
||||||
|
# privateNetwork = true;
|
||||||
|
# hostAddress = hostAddress;
|
||||||
|
# localAddress = containerAddress;
|
||||||
|
# hostAddress6 = hostAddress6;
|
||||||
|
# localAddress6 = containerAddress6;
|
||||||
|
# config =
|
||||||
|
# { config, pkgs, ... }:
|
||||||
|
# {
|
||||||
|
# imports = [
|
||||||
|
# nixarr.nixosModules.default
|
||||||
|
# ];
|
||||||
|
# system.stateVersion = "25.05";
|
||||||
|
# nixpkgs.config.allowUnfree = true;
|
||||||
|
#
|
||||||
|
# nixarr = {
|
||||||
|
# enable = true;
|
||||||
|
# # These two values are also the default, but you can set them to whatever
|
||||||
|
# # else you want
|
||||||
|
# # WARNING: Do _not_ set them to `/home/user/whatever`, it will not work!
|
||||||
|
# mediaDir = "/var/lib/nixarr_test/media";
|
||||||
|
# stateDir = "/var/lib/nixarr_test/state";
|
||||||
|
#
|
||||||
|
# # vpn = {
|
||||||
|
# # enable = true;
|
||||||
|
# # # WARNING: This file must _not_ be in the config git directory
|
||||||
|
# # # You can usually get this wireguard file from your VPN provider
|
||||||
|
# # wgConf = "/data/.secret/wg.conf";
|
||||||
|
# # };
|
||||||
|
#
|
||||||
|
# jellyfin = {
|
||||||
|
# enable = true;
|
||||||
|
# # These options set up a nginx HTTPS reverse proxy, so you can access
|
||||||
|
# # Jellyfin on your domain with HTTPS
|
||||||
|
# # expose.https = {
|
||||||
|
# # enable = true;
|
||||||
|
# # domainName = "your.domain.com";
|
||||||
|
# # acmeMail = "your@email.com"; # Required for ACME-bot
|
||||||
|
# # };
|
||||||
|
# };
|
||||||
|
#
|
||||||
|
# # transmission = {
|
||||||
|
# # enable = true;
|
||||||
|
# # vpn.enable = true;
|
||||||
|
# # peerPort = 50000; # Set this to the port forwarded by your VPN
|
||||||
|
# # };
|
||||||
|
#
|
||||||
|
# # It is possible for this module to run the *Arrs through a VPN, but it
|
||||||
|
# # is generally not recommended, as it can cause rate-limiting issues.
|
||||||
|
# sabnzbd.enable = true; # Usenet downloader
|
||||||
|
# prowlarr.enable = true; # Index manager
|
||||||
|
# sonarr.enable = true; # TV
|
||||||
|
# radarr.enable = true; # Movies
|
||||||
|
# bazarr.enable = true; # subtitles for sonarr and radarr
|
||||||
|
# lidarr.enable = true; # music
|
||||||
|
# readarr.enable = true; # books
|
||||||
|
# jellyseerr.enable = true; # request manager for media
|
||||||
|
# };
|
||||||
|
# };
|
||||||
|
# };
|
||||||
|
|
||||||
# containers.wasabi = {
|
# containers.wasabi = {
|
||||||
# ephemeral = true;
|
# ephemeral = true;
|
||||||
# autoStart = true;
|
# autoStart = true;
|
||||||
|
|
79
hosts/lio/flake.lock
generated
79
hosts/lio/flake.lock
generated
|
@ -161,6 +161,26 @@
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"nixarr": {
|
||||||
|
"inputs": {
|
||||||
|
"nixpkgs": "nixpkgs_4",
|
||||||
|
"vpnconfinement": "vpnconfinement",
|
||||||
|
"website-builder": "website-builder"
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1750367617,
|
||||||
|
"narHash": "sha256-1kz35TbeqhJMdo1s/WHidoUT64IuoKCGlngv5/JCHiw=",
|
||||||
|
"owner": "rasmus-kirk",
|
||||||
|
"repo": "nixarr",
|
||||||
|
"rev": "450d76583ae6ec025577bde7da2a38cfc7fb0510",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "rasmus-kirk",
|
||||||
|
"repo": "nixarr",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
"nixpkgs": {
|
"nixpkgs": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1749024892,
|
"lastModified": 1749024892,
|
||||||
|
@ -210,6 +230,22 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"nixpkgs_4": {
|
"nixpkgs_4": {
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1748662220,
|
||||||
|
"narHash": "sha256-7gGa49iB9nCnFk4h/g9zwjlQAyjtpgcFkODjcOQS0Es=",
|
||||||
|
"owner": "nixos",
|
||||||
|
"repo": "nixpkgs",
|
||||||
|
"rev": "59138c7667b7970d205d6a05a8bfa2d78caa3643",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "nixos",
|
||||||
|
"ref": "nixpkgs-unstable",
|
||||||
|
"repo": "nixpkgs",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"nixpkgs_5": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1750133334,
|
"lastModified": 1750133334,
|
||||||
"narHash": "sha256-urV51uWH7fVnhIvsZIELIYalMYsyr2FCalvlRTzqWRw=",
|
"narHash": "sha256-urV51uWH7fVnhIvsZIELIYalMYsyr2FCalvlRTzqWRw=",
|
||||||
|
@ -225,7 +261,7 @@
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"nixpkgs_5": {
|
"nixpkgs_6": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1750188666,
|
"lastModified": 1750188666,
|
||||||
"narHash": "sha256-yAfLvtbCzSigTfbsJeOrvljS7VYLAwi2RZ6F+qd+A5E=",
|
"narHash": "sha256-yAfLvtbCzSigTfbsJeOrvljS7VYLAwi2RZ6F+qd+A5E=",
|
||||||
|
@ -1161,13 +1197,14 @@
|
||||||
"root": {
|
"root": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"common": "common",
|
"common": "common",
|
||||||
"nixpkgs": "nixpkgs_4",
|
"nixarr": "nixarr",
|
||||||
|
"nixpkgs": "nixpkgs_5",
|
||||||
"ros_neovim": "ros_neovim"
|
"ros_neovim": "ros_neovim"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"ros_neovim": {
|
"ros_neovim": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"nixpkgs": "nixpkgs_5",
|
"nixpkgs": "nixpkgs_6",
|
||||||
"nvim_plugin-Almo7aya/openingh.nvim": "nvim_plugin-Almo7aya/openingh.nvim",
|
"nvim_plugin-Almo7aya/openingh.nvim": "nvim_plugin-Almo7aya/openingh.nvim",
|
||||||
"nvim_plugin-CopilotC-Nvim/CopilotChat.nvim": "nvim_plugin-CopilotC-Nvim/CopilotChat.nvim",
|
"nvim_plugin-CopilotC-Nvim/CopilotChat.nvim": "nvim_plugin-CopilotC-Nvim/CopilotChat.nvim",
|
||||||
"nvim_plugin-JoosepAlviste/nvim-ts-context-commentstring": "nvim_plugin-JoosepAlviste/nvim-ts-context-commentstring",
|
"nvim_plugin-JoosepAlviste/nvim-ts-context-commentstring": "nvim_plugin-JoosepAlviste/nvim-ts-context-commentstring",
|
||||||
|
@ -1312,6 +1349,42 @@
|
||||||
"repo": "default",
|
"repo": "default",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
"vpnconfinement": {
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1743810720,
|
||||||
|
"narHash": "sha256-kbv/W4gizUSa6qH2rUQdgPj9AJaeN9k2XSWUYqj7IMU=",
|
||||||
|
"owner": "Maroka-chan",
|
||||||
|
"repo": "VPN-Confinement",
|
||||||
|
"rev": "74ae51e6d18b972ecc918ab43e8bde60c21a65d8",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "Maroka-chan",
|
||||||
|
"repo": "VPN-Confinement",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"website-builder": {
|
||||||
|
"inputs": {
|
||||||
|
"nixpkgs": [
|
||||||
|
"nixarr",
|
||||||
|
"nixpkgs"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1750317638,
|
||||||
|
"narHash": "sha256-B4RWcXXOLO6gMeYyV+K4olu+kGGsYamKH+JAm0cIXqI=",
|
||||||
|
"owner": "rasmus-kirk",
|
||||||
|
"repo": "website-builder",
|
||||||
|
"rev": "b54192000a00e865947f45bacf3184d56363ee38",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "rasmus-kirk",
|
||||||
|
"repo": "website-builder",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"root": "root",
|
"root": "root",
|
||||||
|
|
|
@ -8,6 +8,8 @@
|
||||||
common.url = "git+https://git.joshuabell.xyz/ringofstorms/dotfiles";
|
common.url = "git+https://git.joshuabell.xyz/ringofstorms/dotfiles";
|
||||||
|
|
||||||
ros_neovim.url = "git+https://git.joshuabell.xyz/ringofstorms/nvim";
|
ros_neovim.url = "git+https://git.joshuabell.xyz/ringofstorms/nvim";
|
||||||
|
|
||||||
|
nixarr.url = "github:rasmus-kirk/nixarr";
|
||||||
};
|
};
|
||||||
|
|
||||||
outputs =
|
outputs =
|
||||||
|
@ -15,8 +17,9 @@
|
||||||
nixpkgs,
|
nixpkgs,
|
||||||
common,
|
common,
|
||||||
ros_neovim,
|
ros_neovim,
|
||||||
|
nixarr,
|
||||||
...
|
...
|
||||||
}:
|
}@inputs:
|
||||||
let
|
let
|
||||||
configuration_name = "lio";
|
configuration_name = "lio";
|
||||||
lib = nixpkgs.lib;
|
lib = nixpkgs.lib;
|
||||||
|
@ -25,15 +28,61 @@
|
||||||
nixosConfigurations = {
|
nixosConfigurations = {
|
||||||
"${configuration_name}" = (
|
"${configuration_name}" = (
|
||||||
lib.nixosSystem {
|
lib.nixosSystem {
|
||||||
|
specialArgs = { inherit inputs; };
|
||||||
modules = [
|
modules = [
|
||||||
common.nixosModules.default
|
common.nixosModules.default
|
||||||
ros_neovim.nixosModules.default
|
ros_neovim.nixosModules.default
|
||||||
|
nixarr.nixosModules.default
|
||||||
./configuration.nix
|
./configuration.nix
|
||||||
./hardware-configuration.nix
|
./hardware-configuration.nix
|
||||||
(import ./containers.nix { inherit common; })
|
(import ./containers.nix { inherit inputs; })
|
||||||
(
|
(
|
||||||
{ config, pkgs, ... }:
|
{ config, pkgs, ... }:
|
||||||
{
|
{
|
||||||
|
# nixarr = {
|
||||||
|
# enable = true;
|
||||||
|
# # These two values are also the default, but you can set them to whatever
|
||||||
|
# # else you want
|
||||||
|
# # WARNING: Do _not_ set them to `/home/user/whatever`, it will not work!
|
||||||
|
# mediaDir = "/var/lib/nixarr_test/media";
|
||||||
|
# stateDir = "/var/lib/nixarr_test/state";
|
||||||
|
#
|
||||||
|
# # vpn = {
|
||||||
|
# # enable = true;
|
||||||
|
# # # WARNING: This file must _not_ be in the config git directory
|
||||||
|
# # # You can usually get this wireguard file from your VPN provider
|
||||||
|
# # wgConf = "/data/.secret/wg.conf";
|
||||||
|
# # };
|
||||||
|
#
|
||||||
|
# jellyfin = {
|
||||||
|
# enable = true;
|
||||||
|
# # These options set up a nginx HTTPS reverse proxy, so you can access
|
||||||
|
# # Jellyfin on your domain with HTTPS
|
||||||
|
# expose.https = {
|
||||||
|
# enable = true;
|
||||||
|
# domainName = "your.domain.com";
|
||||||
|
# acmeMail = "your@email.com"; # Required for ACME-bot
|
||||||
|
# };
|
||||||
|
# };
|
||||||
|
#
|
||||||
|
# # transmission = {
|
||||||
|
# # enable = true;
|
||||||
|
# # vpn.enable = true;
|
||||||
|
# # peerPort = 50000; # Set this to the port forwarded by your VPN
|
||||||
|
# # };
|
||||||
|
#
|
||||||
|
# # It is possible for this module to run the *Arrs through a VPN, but it
|
||||||
|
# # is generally not recommended, as it can cause rate-limiting issues.
|
||||||
|
# sabnzbd.enable = true; # Usenet downloader
|
||||||
|
# prowlarr.enable = true; # Index manager
|
||||||
|
# sonarr.enable = true; # TV
|
||||||
|
# radarr.enable = true; # Movies
|
||||||
|
# bazarr.enable = true; # subtitles for sonarr and radarr
|
||||||
|
# lidarr.enable = true; # music
|
||||||
|
# readarr.enable = true; # books
|
||||||
|
# jellyseerr.enable = true; # request manager for media
|
||||||
|
# };
|
||||||
|
|
||||||
programs = {
|
programs = {
|
||||||
steam.enable = true;
|
steam.enable = true;
|
||||||
};
|
};
|
||||||
|
@ -100,6 +149,9 @@
|
||||||
"input"
|
"input"
|
||||||
];
|
];
|
||||||
shell = pkgs.zsh;
|
shell = pkgs.zsh;
|
||||||
|
packages = with pkgs; [
|
||||||
|
sabnzbd
|
||||||
|
];
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
12
hosts/lio/media_test.md
Normal file
12
hosts/lio/media_test.md
Normal file
|
@ -0,0 +1,12 @@
|
||||||
|
[jellyfin](http://10.0.0.3:8096)
|
||||||
|
[sabnzbd](http://10.0.0.3:6336)
|
||||||
|
[prowlarr](http://10.0.0.3:9696/)
|
||||||
|
[radarr](http://10.0.0.3:7878/)
|
||||||
|
[sonarr](http://10.0.0.3:8989/)
|
||||||
|
[lidarr](http://10.0.0.3:8686/)
|
||||||
|
[readarr](http://10.0.0.3:8787/)
|
||||||
|
[bazarr](http://10.0.0.3:6767)
|
||||||
|
[jellyseer](http://10.0.0.3:5055/)
|
||||||
|
|
||||||
|
|
||||||
|
[reference for setup](https://www.youtube.com/watch?v=twJDyoj0tDc&t=1172s)
|
Loading…
Add table
Add a link
Reference in a new issue