headscale: move out of module
This commit is contained in:
parent
0c390a7c91
commit
c0c435c2da
@ -7,6 +7,7 @@
|
|||||||
imports = [
|
imports = [
|
||||||
./hardware-configuration.nix
|
./hardware-configuration.nix
|
||||||
./gitea.nix
|
./gitea.nix
|
||||||
|
./headscale.nix
|
||||||
./kanidm.nix
|
./kanidm.nix
|
||||||
./matrix.nix
|
./matrix.nix
|
||||||
./outline.nix
|
./outline.nix
|
||||||
@ -67,7 +68,6 @@
|
|||||||
realm = "turn.vimium.com";
|
realm = "turn.vimium.com";
|
||||||
matrixIntegration = true;
|
matrixIntegration = true;
|
||||||
};
|
};
|
||||||
headscale.enable = true;
|
|
||||||
nginx.enable = true;
|
nginx.enable = true;
|
||||||
postgresql.enable = true;
|
postgresql.enable = true;
|
||||||
};
|
};
|
||||||
|
61
hosts/vps1/headscale.nix
Normal file
61
hosts/vps1/headscale.nix
Normal file
@ -0,0 +1,61 @@
|
|||||||
|
{
|
||||||
|
config,
|
||||||
|
pkgs,
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
|
||||||
|
let
|
||||||
|
domain = "headscale.vimium.net";
|
||||||
|
in
|
||||||
|
{
|
||||||
|
environment.systemPackages = [ pkgs.headscale ];
|
||||||
|
|
||||||
|
services.headscale = {
|
||||||
|
enable = true;
|
||||||
|
|
||||||
|
port = 8080;
|
||||||
|
|
||||||
|
settings = {
|
||||||
|
policy.path = null;
|
||||||
|
ip_prefixes = [
|
||||||
|
"100.64.0.0/10"
|
||||||
|
];
|
||||||
|
server_url = "https://${domain}";
|
||||||
|
derp = {
|
||||||
|
auto_update_enable = false;
|
||||||
|
update_frequency = "24h";
|
||||||
|
};
|
||||||
|
dns = {
|
||||||
|
base_domain = "mesh.vimium.net";
|
||||||
|
extra_records = [
|
||||||
|
{
|
||||||
|
name = "grafana.mesh.vimium.net";
|
||||||
|
type = "A";
|
||||||
|
value = "100.64.0.6";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
name = "home.mesh.vimium.net";
|
||||||
|
type = "A";
|
||||||
|
value = "100.64.0.7";
|
||||||
|
}
|
||||||
|
];
|
||||||
|
magic_dns = true;
|
||||||
|
nameservers.global = [
|
||||||
|
"9.9.9.9"
|
||||||
|
];
|
||||||
|
};
|
||||||
|
logtail.enabled = false;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
services.nginx.virtualHosts = {
|
||||||
|
"${domain}" = {
|
||||||
|
forceSSL = true;
|
||||||
|
enableACME = true;
|
||||||
|
locations."/" = {
|
||||||
|
proxyPass = "http://localhost:${toString config.services.headscale.port}";
|
||||||
|
proxyWebsockets = true;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
@ -1,72 +0,0 @@
|
|||||||
{
|
|
||||||
config,
|
|
||||||
lib,
|
|
||||||
pkgs,
|
|
||||||
...
|
|
||||||
}:
|
|
||||||
|
|
||||||
let
|
|
||||||
cfg = config.modules.services.headscale;
|
|
||||||
fqdn = "headscale.vimium.net";
|
|
||||||
in
|
|
||||||
{
|
|
||||||
options.modules.services.headscale = {
|
|
||||||
enable = lib.mkOption {
|
|
||||||
default = false;
|
|
||||||
example = true;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
config = lib.mkIf cfg.enable {
|
|
||||||
environment.systemPackages = [ pkgs.headscale ];
|
|
||||||
|
|
||||||
services.headscale = {
|
|
||||||
enable = true;
|
|
||||||
|
|
||||||
port = 8080;
|
|
||||||
|
|
||||||
settings = {
|
|
||||||
policy.path = null;
|
|
||||||
ip_prefixes = [
|
|
||||||
"100.64.0.0/10"
|
|
||||||
];
|
|
||||||
server_url = "https://${fqdn}";
|
|
||||||
derp = {
|
|
||||||
auto_update_enable = false;
|
|
||||||
update_frequency = "24h";
|
|
||||||
};
|
|
||||||
dns = {
|
|
||||||
base_domain = "mesh.vimium.net";
|
|
||||||
extra_records = [
|
|
||||||
{
|
|
||||||
name = "grafana.mesh.vimium.net";
|
|
||||||
type = "A";
|
|
||||||
value = "100.64.0.6";
|
|
||||||
}
|
|
||||||
{
|
|
||||||
name = "home.mesh.vimium.net";
|
|
||||||
type = "A";
|
|
||||||
value = "100.64.0.7";
|
|
||||||
}
|
|
||||||
];
|
|
||||||
magic_dns = true;
|
|
||||||
nameservers.global = [
|
|
||||||
"9.9.9.9"
|
|
||||||
];
|
|
||||||
};
|
|
||||||
logtail.enabled = false;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
services.nginx.virtualHosts = {
|
|
||||||
"${fqdn}" = {
|
|
||||||
forceSSL = true;
|
|
||||||
enableACME = true;
|
|
||||||
locations."/" = {
|
|
||||||
proxyPass = "http://localhost:${toString config.services.headscale.port}";
|
|
||||||
proxyWebsockets = true;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
Loading…
x
Reference in New Issue
Block a user