68 lines
1.7 KiB
Nix
Executable file
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 = "grafana.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()
|
|
';
|
|
}
|
|
'';
|
|
};
|
|
};
|
|
};
|
|
};
|
|
}
|