char/topaz-flake
git clone https://git.t4t.associates/char/topaz-flake
233f0ea
main
1{ unstable-pkgs , ...} : 2{ 3users . users . cerulea-video = { 4isSystemUser = true ; 5group = "cerulea-video" ; 6home = "/srv/apps/cerulea-video" ; 7createHome = false ; 8}; 9users . groups . cerulea-video = { }; 10 11systemd . services . cerulea-video = { 12description = "cerulea video" ; 13after = [ "network.target" ]; 14wantedBy = [ "multi-user.target" ]; 15 16serviceConfig = { 17Type = "simple" ; 18User = "cerulea-video" ; 19Group = "cerulea-video" ; 20WorkingDirectory = "/srv/apps/cerulea-video" ; 21ExecStartPre = " ${ unstable-pkgs . deno } /bin/deno task client:build" ; 22ExecStart = " ${ unstable-pkgs . deno } /bin/deno serve -A --host 127.0.0.16 --port 4080 ./appview/main.ts" ; 23Restart = "on-failure" ; 24RestartSec = "5s" ; 25 26NoNewPrivileges = true ; 27PrivateTmp = true ; 28ProtectSystem = "strict" ; 29ProtectHome = "read-only" ; 30ReadWritePaths = [ "/srv/apps/cerulea-video" ]; 31}; 32}; 33 34services . nginx . virtualHosts . "video.cerulea.blue" = { 35forceSSL = true ; 36enableACME = true ; 37 38locations . "/" = { 39proxyPass = "http://127.0.0.16:4080" ; 40proxyWebsockets = true ; 41extraConfig = '' 42proxy_set_header Host $host; 43proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; 44'' ; 45}; 46}; 47}