2025-10-05 12:24:27 +02:00
|
|
|
{config, ...}: {
|
|
|
|
|
m3ta.ports = {
|
|
|
|
|
enable = true;
|
|
|
|
|
definitions = {
|
|
|
|
|
# System services
|
|
|
|
|
ssh = 22;
|
|
|
|
|
|
|
|
|
|
# Web & proxy services
|
|
|
|
|
traefik = 80;
|
|
|
|
|
traefik-ssl = 443;
|
|
|
|
|
|
|
|
|
|
# Databases
|
|
|
|
|
postgres = 5432;
|
|
|
|
|
mysql = 3306;
|
|
|
|
|
redis = 6379;
|
|
|
|
|
|
|
|
|
|
# VPN & networking
|
|
|
|
|
wireguard = 51820;
|
|
|
|
|
tailscale = 41641;
|
|
|
|
|
headscale = 3009;
|
2026-02-27 16:03:08 +01:00
|
|
|
netbird-stun = 3478;
|
|
|
|
|
netbird-proxy = 8443;
|
|
|
|
|
netbird-metrics = 9090;
|
|
|
|
|
netbird-health = 9000;
|
2025-10-05 12:24:27 +02:00
|
|
|
|
|
|
|
|
# Containers & web apps
|
|
|
|
|
gitea = 3030;
|
|
|
|
|
baserow = 3001;
|
|
|
|
|
ghost = 3002;
|
|
|
|
|
wastebin = 3003;
|
|
|
|
|
littlelink = 3004;
|
|
|
|
|
searx = 3005;
|
|
|
|
|
restreamer = 3006;
|
|
|
|
|
paperless = 3012;
|
|
|
|
|
vaultwarden = 3013;
|
|
|
|
|
slash = 3010;
|
|
|
|
|
slash-nemoti = 3016;
|
|
|
|
|
kestra = 3018;
|
|
|
|
|
outline = 3019;
|
2026-02-28 10:06:42 +01:00
|
|
|
authentik = 3023;
|
2025-10-05 12:24:27 +02:00
|
|
|
|
|
|
|
|
# Home automation
|
|
|
|
|
homarr = 7575;
|
|
|
|
|
|
|
|
|
|
# DNS
|
|
|
|
|
adguardhome = 53;
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
hostOverrides = {
|
|
|
|
|
# Host-specific overrides
|
|
|
|
|
m3-ares = {
|
|
|
|
|
# Any custom port overrides for m3-ares
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
m3-atlas = {
|
|
|
|
|
# Any custom port overrides for m3-atlas
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
m3-helios = {
|
|
|
|
|
# Any custom port overrides for m3-helios
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
m3-kratos = {
|
|
|
|
|
# Any custom port overrides for m3-kratos
|
|
|
|
|
};
|
|
|
|
|
};
|
|
|
|
|
};
|
|
|
|
|
environment.etc."info/all-ports.json" = {
|
|
|
|
|
text = builtins.toJSON {
|
|
|
|
|
hostname = config.networking.hostName;
|
|
|
|
|
ports = config.m3ta.ports.all; # TODO should only return actually used ports
|
|
|
|
|
};
|
|
|
|
|
};
|
|
|
|
|
}
|