forked from KptltD00M/nixy
Add new server modules and configurations for various services
- 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.
This commit is contained in:
@@ -0,0 +1,64 @@
|
||||
{
|
||||
config,
|
||||
inputs,
|
||||
lib,
|
||||
...
|
||||
}: let
|
||||
inherit (import ./mk-container.nix {inherit lib config;}) mkContainer;
|
||||
in {
|
||||
imports = [
|
||||
(mkContainer {
|
||||
name = "iky-prod";
|
||||
hostIp = "10.233.1.1";
|
||||
containerIp = "10.233.1.2";
|
||||
internet = true;
|
||||
bindMounts."/etc/iky/config.yaml" = {
|
||||
hostPath = "/var/lib/iknowyou-prod/config.yaml";
|
||||
isReadOnly = false;
|
||||
};
|
||||
nixosConfig = {...}: {
|
||||
imports = [inputs.iknowyou.nixosModules.default];
|
||||
users.users.iknowyou.uid = 999;
|
||||
users.groups.iknowyou.gid = 999;
|
||||
services.iknowyou = {
|
||||
enable = true;
|
||||
port = 8080;
|
||||
openFirewall = true;
|
||||
};
|
||||
system.stateVersion = "24.05";
|
||||
};
|
||||
})
|
||||
|
||||
(mkContainer {
|
||||
name = "iky-demo";
|
||||
hostIp = "10.233.2.1";
|
||||
containerIp = "10.233.2.2";
|
||||
nixosConfig = {...}: {
|
||||
imports = [inputs.iknowyou.nixosModules.default];
|
||||
services.iknowyou = {
|
||||
enable = true;
|
||||
port = 8080;
|
||||
openFirewall = true;
|
||||
};
|
||||
systemd.services.iknowyou.environment.IKY_DEMO = "true";
|
||||
system.stateVersion = "24.05";
|
||||
};
|
||||
})
|
||||
];
|
||||
|
||||
users.users.iknowyou = {
|
||||
isSystemUser = true;
|
||||
group = "iknowyou";
|
||||
uid = 999;
|
||||
};
|
||||
users.groups.iknowyou.gid = 999;
|
||||
|
||||
systemd.tmpfiles.rules = [
|
||||
"f /var/lib/iknowyou-prod/config.yaml 0600 iknowyou iknowyou -"
|
||||
];
|
||||
|
||||
services.cloudflared.tunnels."${config.var.tunnelId}".ingress = {
|
||||
"iknowyou-prod.${config.var.domain}" = "http://10.233.1.2:8080";
|
||||
"iknowyou.${config.var.domain}" = "http://10.233.2.2:8080";
|
||||
};
|
||||
}
|
||||
Reference in New Issue
Block a user