Files
infrastructure/machines/durruti/host_config.nix
kalipso 88012d37db
All checks were successful
Check flake syntax / flake-check (push) Successful in 4m21s
[zineshop] max_body_size 50M
2025-04-15 14:11:53 +02:00

105 lines
2.1 KiB
Nix

{ config, lib, options, pkgs, ... }:
with lib;
let
cfg = config.services.malobeo;
in
{
options = {
services.malobeo = {
enable = mkOption {
default = false;
type = types.bool;
description = lib.mdDoc "Enable malobeo infrastructure.";
};
host_ip = mkOption {
type = types.str;
default = "";
description = lib.mdDoc "ip of nix container provided for malo";
};
};
};
config = mkIf cfg.enable
{
assertions = [
{
assertion = cfg.host_ip != "";
message = ''
You need to specify host_ip of the nix container
'';
}
];
services.nginx.virtualHosts."docs.malobeo.org" = {
forceSSL = true;
enableACME= true;
locations."/" = {
proxyPass = "http://10.0.0.10";
extraConfig = ''
'';
};
};
services.nginx.virtualHosts."cloud.malobeo.org" = {
forceSSL = true;
enableACME= true;
locations."/" = {
proxyPass = "http://10.0.0.10";
extraConfig = ''
'';
};
};
services.nginx.virtualHosts."grafana.malobeo.org" = {
forceSSL = true;
enableACME= true;
locations."/" = {
proxyPass = "http://10.0.0.10";
extraConfig = ''
'';
};
};
services.nginx.virtualHosts."tasklist.malobeo.org" = {
forceSSL = true;
enableACME= true;
locations."/" = {
proxyPass = "http://10.0.0.10";
extraConfig = ''
'';
};
};
services.nginx.virtualHosts."zines.malobeo.org" = {
forceSSL = true;
enableACME= true;
locations."/" = {
proxyPass = "http://10.0.0.10";
extraConfig = ''
client_body_in_file_only clean;
client_body_buffer_size 32K;
client_max_body_size 50M;
sendfile on;
send_timeout 300s;
'';
};
};
services.nginx.virtualHosts."status.malobeo.org" = {
forceSSL = true;
enableACME= true;
locations."/" = {
proxyPass = "http://10.0.0.12";
extraConfig = ''
'';
};
};
};
}