34 lines
1.1 KiB
Nix
34 lines
1.1 KiB
Nix
{pkgs, lib, ...}: let
|
|
secrets = import ../modules/secrets.nix;
|
|
in {
|
|
services = {
|
|
pufferpanel = {
|
|
enable = true;
|
|
environment = {
|
|
PUFFER_WEB_HOST = ":5010";
|
|
PUFFER_PANEL_SETTINGS_MASTERURL = "https://panel.${secrets.jimDomain}";
|
|
PUFFER_PANEL_EMAIL_PROVIDER = "smtp";
|
|
PUFFER_PANEL_EMAIL_HOST = "mx.${secrets.jimDomain}:587";
|
|
PUFFER_PANEL_EMAIL_FROM = "noreply@${secrets.jimDomain}";
|
|
PUFFER_PANEL_EMAIL_USERNAME = "noreply@${secrets.jimDomain}";
|
|
PUFFER_PANEL_EMAIL_PASSWORD = secrets.noreplyPassword;
|
|
};
|
|
extraPackages = with pkgs; [ bash curl gawk gnutar gzip ];
|
|
package = pkgs.buildFHSEnv {
|
|
name = "pufferpanel-fhs";
|
|
meta.mainProgram = "pufferpanel-fhs";
|
|
runScript = lib.getExe pkgs.pufferpanel;
|
|
targetPkgs = pkgs': with pkgs'; [ icu openssl zlib ];
|
|
};
|
|
};
|
|
nginx.virtualHosts."panel.${secrets.jimDomain}" = {
|
|
enableACME = true;
|
|
forceSSL = true;
|
|
locations."/" = {
|
|
proxyPass = "http://127.0.0.1:5010";
|
|
proxyWebsockets = true;
|
|
};
|
|
};
|
|
};
|
|
}
|