forked from KptltD00M/nixy
5082521524
- Introduced `default-creds` module for managing default credentials with Umami integration. - Added `fail2ban` module for brute-force attack protection with configurable ban times. - Created `firewall` module to enable and configure basic firewall settings. - Implemented `gitea` module for self-hosted Git service with PostgreSQL backend. - Developed `glance` module for a customizable dashboard with various widgets and themes. - Added `iknowyou` module for a self-hosted password manager with production and demo environments. - Introduced `kernel-hardening` module for enhancing kernel security settings. - Created `mazanoke` module for a simple web application with Nginx integration. - Added `mealie` module for a self-hosted meal planning application. - Implemented `stirling-pdf` module for PDF generation service. - Developed `umami` module for self-hosted analytics with secret management. - Added `ssh` module for secure SSH configuration with user restrictions. - Introduced `nixy` theme for a customized aesthetic experience across services.
40 lines
1.1 KiB
Nix
40 lines
1.1 KiB
Nix
{
|
|
config,
|
|
lib,
|
|
...
|
|
}: let
|
|
inherit (import ./mk-container.nix {inherit lib config;}) mkContainer;
|
|
in {
|
|
sops.secrets.umami-secret.mode = "0400";
|
|
|
|
imports = [
|
|
(mkContainer {
|
|
name = "umami";
|
|
hostIp = "10.233.10.1";
|
|
containerIp = "10.233.10.2";
|
|
bindMounts."/run/secrets/umami-secret" = {
|
|
hostPath = config.sops.secrets.umami-secret.path;
|
|
isReadOnly = true;
|
|
};
|
|
nixosConfig = {...}: {
|
|
services.umami = {
|
|
enable = true;
|
|
settings = {
|
|
PORT = 8080;
|
|
HOSTNAME = "0.0.0.0";
|
|
APP_SECRET_FILE = "/run/secrets/umami-secret";
|
|
DISABLE_TELEMETRY = true;
|
|
DISABLE_BOT_CHECK = true;
|
|
};
|
|
};
|
|
# PrivateUsers breaks systemd-creds inside nspawn containers (nested user namespaces)
|
|
systemd.services.umami.serviceConfig.PrivateUsers = lib.mkForce false;
|
|
networking.firewall.allowedTCPPorts = [8080];
|
|
system.stateVersion = "24.05";
|
|
};
|
|
})
|
|
];
|
|
|
|
services.cloudflared.tunnels."${config.var.tunnelId}".ingress."umami.${config.var.domain}" = "http://10.233.10.2:8080";
|
|
}
|