nix-server/hosts/server/webapps/default.nix
2024-03-24 16:13:39 -07:00

61 lines
1.6 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
# configures acme, gzip, optimization, proxy, and 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";
};
};
};
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()
';
}
'';
};
};
};
};
}