nix-server/hosts/nixos-server-reid/webapps/default.nix

68 lines
1.7 KiB
Nix
Executable file

{ config, lib, pkgs, ... }:
with lib;
let
in {
config = {
modules = {
services = {
forgejo = {
enable = true;
domain = "git.reidlab.online";
port = 3000;
};
# you should probably keep this on
# actually enables nginx, configures acme,
# gzip, optimization, proxy, ssl config,
# opens ports, and adds some Headers
nginx-config = {
enable = true;
defaultLuaPackagePath = /var/www/reidlab.online/lua;
};
staticSites = {
"v2.reidlab.online".dataDir = "/var/www/v2.reidlab.online";
};
metrics = {
enable = true;
domain = "analytics.reidlab.online";
port = 2342;
};
};
};
services = {
nginx.virtualHosts = {
"reidlab.online" = {
forceSSL = true;
enableACME = true;
root = "/var/www/reidlab.online/public";
extraConfig = ''
error_page 404 /errors/404.html;
error_page 403 /errors/403.html;
error_page 500 /errors/500.html;
location = /errors/404.html { root /var/www/reidlab.online/public/; internal; }
location = /errors/403.html { root /var/www/reidlab.online/public/; internal; }
location = /errors/500.html { root /var/www/reidlab.online/public/; internal; }
location / {
try_files $uri @main;
}
location /chat {
access_by_lua_file /var/www/reidlab.online/lua/chat.lua;
}
location @main {
content_by_lua '
require("main").handle_request()
';
}
'';
};
};
};
};
}