containers/fluorite: init
This commit is contained in:
parent
68ae736c2c
commit
d3ab001222
5 changed files with 145 additions and 8 deletions
16
containers/fluorite/configuration.nix
Normal file
16
containers/fluorite/configuration.nix
Normal file
|
|
@ -0,0 +1,16 @@
|
|||
{ ... }: {
|
||||
system.stateVersion = "25.11";
|
||||
systemd.tmpfiles.rules = [
|
||||
"d /persist/slskd/Downloads 755 slskd slskd"
|
||||
];
|
||||
networking.firewall.allowedTCPPorts = [ 5030 50300 ];
|
||||
networking.firewall.allowedUDPPorts = [ 5030 50300 ];
|
||||
|
||||
services.slskd = {
|
||||
enable = true;
|
||||
settings = {
|
||||
directories.downloads = "/persist/slskd/Downloads";
|
||||
shares.downloads = "/binds/shared/";
|
||||
};
|
||||
};
|
||||
}
|
||||
27
containers/fluorite/flake.lock
generated
Normal file
27
containers/fluorite/flake.lock
generated
Normal file
|
|
@ -0,0 +1,27 @@
|
|||
{
|
||||
"nodes": {
|
||||
"nixpkgs": {
|
||||
"locked": {
|
||||
"lastModified": 1773282481,
|
||||
"narHash": "sha256-b/GV2ysM8mKHhinse2wz+uP37epUrSE+sAKXy/xvBY4=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "fe416aaedd397cacb33a610b33d60ff2b431b127",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "NixOS",
|
||||
"ref": "nixos-unstable",
|
||||
"repo": "nixpkgs",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"root": {
|
||||
"inputs": {
|
||||
"nixpkgs": "nixpkgs"
|
||||
}
|
||||
}
|
||||
},
|
||||
"root": "root",
|
||||
"version": 7
|
||||
}
|
||||
62
containers/fluorite/flake.nix
Normal file
62
containers/fluorite/flake.nix
Normal file
|
|
@ -0,0 +1,62 @@
|
|||
{
|
||||
inputs = {
|
||||
nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
|
||||
};
|
||||
outputs = { nixpkgs, ... }:
|
||||
let
|
||||
name = "fluorite";
|
||||
fqdn = "fluorite.lava.moe";
|
||||
subnetId = "6";
|
||||
|
||||
subnet = x: "fd0d:1::${subnetId}:${toString x}";
|
||||
host = subnet 1;
|
||||
client = subnet 2;
|
||||
|
||||
subnet4 = x: "10.30.${subnetId}.${toString x}";
|
||||
host4 = subnet4 1;
|
||||
client4 = subnet4 2;
|
||||
|
||||
modules = [
|
||||
./configuration.nix
|
||||
];
|
||||
in {
|
||||
nixosConfigurations.container = nixpkgs.lib.nixosSystem {
|
||||
inherit modules;
|
||||
};
|
||||
nixosModule = { ... }: {
|
||||
services.nginx.virtualHosts."${fqdn}" = {
|
||||
useACMEHost = "lava.moe";
|
||||
forceSSL = true;
|
||||
locations."/".proxyPass = "http://[${client}]:5030";
|
||||
listenAddresses = [ "10.0.0.1" "[fd0d::1]" ];
|
||||
};
|
||||
|
||||
systemd.tmpfiles.rules = [ "d /persist/containers/${name} 755 root users" ];
|
||||
containers.${name} = {
|
||||
autoStart = true;
|
||||
privateNetwork = true;
|
||||
hostAddress = host4;
|
||||
localAddress = client4;
|
||||
hostAddress6 = host;
|
||||
localAddress6 = client;
|
||||
# privateUsers = "pick";
|
||||
nixpkgs = nixpkgs;
|
||||
ephemeral = true;
|
||||
config = { imports = modules; };
|
||||
specialArgs = { inherit fqdn; };
|
||||
|
||||
bindMounts."persist" = {
|
||||
hostPath = "/persist/containers/${name}";
|
||||
mountPoint = "/persist";
|
||||
isReadOnly = false;
|
||||
};
|
||||
bindMounts."shared" = {
|
||||
hostPath = "/persist/media/music";
|
||||
mountPoint = "/binds/shared";
|
||||
isReadOnly = true;
|
||||
};
|
||||
# flake = "path:" + ./.;
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue