chore: weekly flake update #16
10 changed files with 44 additions and 57 deletions
|
|
@ -1,3 +1,3 @@
|
||||||
# Containers
|
# Containers
|
||||||
|
|
||||||
Easy to deploy in portainer that nix
|
For deployments via Dockhand (WIP)
|
||||||
|
|
@ -12,7 +12,11 @@ in
|
||||||
oidc = {
|
oidc = {
|
||||||
clientId = "FiIJTqBIlMKmeSBjznUFgXIJadt71av8dfICvZvf";
|
clientId = "FiIJTqBIlMKmeSBjznUFgXIJadt71av8dfICvZvf";
|
||||||
endpoint = "https://auth.pasetto.me/application/o/dashy/";
|
endpoint = "https://auth.pasetto.me/application/o/dashy/";
|
||||||
scope = ["openid" "profile" "email"];
|
scope = [
|
||||||
|
"openid"
|
||||||
|
"profile"
|
||||||
|
"email"
|
||||||
|
];
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
webSearch = {
|
webSearch = {
|
||||||
|
|
@ -325,10 +329,10 @@ in
|
||||||
};
|
};
|
||||||
items = [
|
items = [
|
||||||
{
|
{
|
||||||
title = "Portainer";
|
title = "Docker";
|
||||||
description = "Container Management";
|
description = "Container Management";
|
||||||
url = "https://portainer.${p.domains.public}";
|
url = "https://${p.hosts.docker}.${p.domains.public}";
|
||||||
icon = "hl-portainer";
|
icon = "hl-docker";
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
title = "Primary DNS";
|
title = "Primary DNS";
|
||||||
|
|
|
||||||
|
|
@ -125,7 +125,7 @@ in
|
||||||
uptime-kuma.proxy = {
|
uptime-kuma.proxy = {
|
||||||
enable = true;
|
enable = true;
|
||||||
domain = p.domains.public;
|
domain = p.domains.public;
|
||||||
host = p.hosts.portainer;
|
host = p.hosts.docker;
|
||||||
};
|
};
|
||||||
|
|
||||||
librenms.proxy = {
|
librenms.proxy = {
|
||||||
|
|
@ -172,22 +172,22 @@ in
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
subdomain = "ai";
|
subdomain = "ai";
|
||||||
host = "http://${p.hosts.portainer}:4080";
|
host = "http://${p.hosts.docker}:4080";
|
||||||
domain = p.domains.public;
|
domain = p.domains.public;
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
subdomain = "keep";
|
subdomain = "keep";
|
||||||
host = "http://${p.hosts.portainer}:3000";
|
host = "http://${p.hosts.docker}:3000";
|
||||||
domain = p.domains.public;
|
domain = p.domains.public;
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
subdomain = "maps";
|
subdomain = "maps";
|
||||||
host = "http://${p.hosts.portainer}:5000";
|
host = "http://${p.hosts.docker}:5000";
|
||||||
domain = p.domains.public;
|
domain = p.domains.public;
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
subdomain = "dock";
|
subdomain = "dock";
|
||||||
host = "http://${p.hosts.portainer}:3333";
|
host = "http://${p.hosts.docker}:3333";
|
||||||
domain = p.domains.public;
|
domain = p.domains.public;
|
||||||
}
|
}
|
||||||
];
|
];
|
||||||
|
|
|
||||||
21
hosts/docker/default.nix
Normal file
21
hosts/docker/default.nix
Normal file
|
|
@ -0,0 +1,21 @@
|
||||||
|
{
|
||||||
|
pkgs,
|
||||||
|
lib,
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
{
|
||||||
|
my = {
|
||||||
|
utils = {
|
||||||
|
commons.enable = true;
|
||||||
|
lxc-standard.enable = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
monitoring.uptime-kuma.enable = true;
|
||||||
|
|
||||||
|
virtualisation = {
|
||||||
|
proxmox.enable = true;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
system.stateVersion = "24.11";
|
||||||
|
}
|
||||||
|
|
@ -29,7 +29,7 @@
|
||||||
"auth"
|
"auth"
|
||||||
"metrics"
|
"metrics"
|
||||||
"nextcloud"
|
"nextcloud"
|
||||||
"portainer"
|
"docker"
|
||||||
"vaultwarden"
|
"vaultwarden"
|
||||||
"immich"
|
"immich"
|
||||||
"firefly-iii"
|
"firefly-iii"
|
||||||
|
|
@ -155,12 +155,12 @@
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
|
|
||||||
portainer = {
|
docker = {
|
||||||
module = ./portainer;
|
module = ./docker;
|
||||||
tags = [
|
tags = [
|
||||||
"lxc"
|
"lxc"
|
||||||
"bacco"
|
"bacco"
|
||||||
"portainer"
|
"docker"
|
||||||
"secondary"
|
"secondary"
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
|
|
|
||||||
|
|
@ -104,7 +104,7 @@ in
|
||||||
"${p.hosts.nextcloud}:${defaultNodePort}"
|
"${p.hosts.nextcloud}:${defaultNodePort}"
|
||||||
"${p.hosts.vaultwarden}:${defaultNodePort}"
|
"${p.hosts.vaultwarden}:${defaultNodePort}"
|
||||||
"${p.hosts.plex}:${defaultNodePort}"
|
"${p.hosts.plex}:${defaultNodePort}"
|
||||||
"${p.hosts.portainer}:${defaultNodePort}"
|
"${p.hosts.docker}:${defaultNodePort}"
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
];
|
];
|
||||||
|
|
|
||||||
|
|
@ -17,7 +17,7 @@ in
|
||||||
nextcloud = "nextcloud.${private-domain}";
|
nextcloud = "nextcloud.${private-domain}";
|
||||||
vaultwarden = "vaultwarden.${private-domain}";
|
vaultwarden = "vaultwarden.${private-domain}";
|
||||||
plex = "plex.${private-domain}";
|
plex = "plex.${private-domain}";
|
||||||
portainer = "portainer.${private-domain}";
|
docker = "docker.${private-domain}";
|
||||||
colmena = "colmena.${private-domain}";
|
colmena = "colmena.${private-domain}";
|
||||||
pve01 = "bacco${private-domain}";
|
pve01 = "bacco${private-domain}";
|
||||||
pve02 = "node.${private-domain}";
|
pve02 = "node.${private-domain}";
|
||||||
|
|
|
||||||
|
|
@ -1,38 +0,0 @@
|
||||||
{
|
|
||||||
config,
|
|
||||||
pkgs,
|
|
||||||
lib,
|
|
||||||
...
|
|
||||||
}:
|
|
||||||
let
|
|
||||||
portainerDataDir = "/var/lib/portainer"; # Define the directory for persistent data
|
|
||||||
in
|
|
||||||
{
|
|
||||||
|
|
||||||
age.secrets.watchtowerSecrets.file = ../../secrets/watchtower-secrets.age;
|
|
||||||
|
|
||||||
my = {
|
|
||||||
utils = {
|
|
||||||
commons.enable = true;
|
|
||||||
lxc-standard.enable = true;
|
|
||||||
};
|
|
||||||
|
|
||||||
monitoring.uptime-kuma.enable = true;
|
|
||||||
|
|
||||||
virtualisation = {
|
|
||||||
proxmox.enable = true;
|
|
||||||
portainer = {
|
|
||||||
enable = true;
|
|
||||||
enableWatchtower = true;
|
|
||||||
environmentSecrets = config.age.secrets.watchtowerSecrets.path;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
# Extra packages
|
|
||||||
environment.shellAliases = {
|
|
||||||
docker = "sudo docker";
|
|
||||||
};
|
|
||||||
|
|
||||||
system.stateVersion = "24.11";
|
|
||||||
}
|
|
||||||
|
|
@ -16,7 +16,7 @@ let
|
||||||
machines.caddy
|
machines.caddy
|
||||||
machines.metrics
|
machines.metrics
|
||||||
];
|
];
|
||||||
watchtower-secrets = [ machines.portainer ];
|
watchtower-secrets = [ machines.docker ];
|
||||||
authentik-env = [ machines.auth ];
|
authentik-env = [ machines.auth ];
|
||||||
dns01-admin-password = [ machines.dns01 ];
|
dns01-admin-password = [ machines.dns01 ];
|
||||||
dns02-admin-password = [ machines.dns02 ];
|
dns02-admin-password = [ machines.dns02 ];
|
||||||
|
|
|
||||||
|
|
@ -13,7 +13,7 @@ rec {
|
||||||
nextcloud = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIGYobAlQ9tPKjyh7eE2Ku81ZiMY6OWd3ELDqo+xBmjbC";
|
nextcloud = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIGYobAlQ9tPKjyh7eE2Ku81ZiMY6OWd3ELDqo+xBmjbC";
|
||||||
vaultwarden = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIOW9uYQpPMiKvI/KFRvd/5f9J8a0zLaQxstWRI8VNObV";
|
vaultwarden = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIOW9uYQpPMiKvI/KFRvd/5f9J8a0zLaQxstWRI8VNObV";
|
||||||
plex = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAINp9itRJGSSVWLxwrcudyGUNOOKl+qqtf+IzLHrhffyt";
|
plex = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAINp9itRJGSSVWLxwrcudyGUNOOKl+qqtf+IzLHrhffyt";
|
||||||
portainer = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIMgg4SKMCw2/21l1crY7trFnrCmNSrkYPl3vEDnJ8aQn";
|
docker = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIMgg4SKMCw2/21l1crY7trFnrCmNSrkYPl3vEDnJ8aQn";
|
||||||
auth = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIFsSQbXHRt+MpUh+YQxd5p6YPnbbWR/4ylz/pXjdZ9Bs";
|
auth = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIFsSQbXHRt+MpUh+YQxd5p6YPnbbWR/4ylz/pXjdZ9Bs";
|
||||||
dns01 = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAII7BdiP/dCE6FHoJylcBKQ5AXz06UpLHNyeuvfLVccSi";
|
dns01 = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAII7BdiP/dCE6FHoJylcBKQ5AXz06UpLHNyeuvfLVccSi";
|
||||||
dns02 = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIJ+HIq6/ebjiv71xDozdOTn5AdnXgr1fGqIzXnH7Not+";
|
dns02 = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIJ+HIq6/ebjiv71xDozdOTn5AdnXgr1fGqIzXnH7Not+";
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue