1
Fork 0
mirror of https://github.com/RGBCube/ncc synced 2025-07-29 11:07:44 +00:00

Configure new site

This commit is contained in:
RGBCube 2024-02-24 11:36:04 +03:00
parent 12da49d348
commit 39c92a88c4
No known key found for this signature in database
5 changed files with 25 additions and 141 deletions

107
flake.lock generated
View file

@ -1,21 +1,5 @@
{
"nodes": {
"advisory-db": {
"flake": false,
"locked": {
"lastModified": 1703184318,
"narHash": "sha256-vx2/goSpegxiFc7e1jKNHzBkhnsIQjriV4GZLaVe17M=",
"owner": "rustsec",
"repo": "advisory-db",
"rev": "a5fb72de318a74eb69a2c241c0e46705684a35d0",
"type": "github"
},
"original": {
"owner": "rustsec",
"repo": "advisory-db",
"type": "github"
}
},
"agenix": {
"inputs": {
"darwin": "darwin",
@ -55,27 +39,6 @@
"type": "gitlab"
}
},
"crane": {
"inputs": {
"nixpkgs": [
"site",
"nixpkgs"
]
},
"locked": {
"lastModified": 1703439018,
"narHash": "sha256-VT+06ft/x3eMZ1MJxWzQP3zXFGcrxGo5VR2rB7t88hs=",
"owner": "ipetkov",
"repo": "crane",
"rev": "afdcd41180e3dfe4dac46b5ee396e3b12ccc967a",
"type": "github"
},
"original": {
"owner": "ipetkov",
"repo": "crane",
"type": "github"
}
},
"darwin": {
"inputs": {
"nixpkgs": [
@ -119,30 +82,6 @@
"type": "github"
}
},
"fenix_2": {
"inputs": {
"nixpkgs": [
"site",
"nixpkgs"
],
"rust-analyzer-src": [
"site"
]
},
"locked": {
"lastModified": 1703917281,
"narHash": "sha256-fmhKbANx4PLG/Rt/QvKBsAdmyl8vAGQfROtccenMonw=",
"owner": "nix-community",
"repo": "fenix",
"rev": "8ad4353759945bec3a5f4bfc53efe818bb41e12a",
"type": "github"
},
"original": {
"owner": "nix-community",
"repo": "fenix",
"type": "github"
}
},
"flake-compat": {
"flake": false,
"locked": {
@ -855,7 +794,6 @@
"nixSuper": "nixSuper",
"nixpkgs": "nixpkgs_4",
"nuScripts": "nuScripts",
"site": "site",
"themes": "themes",
"zig": "zig_2",
"zls": "zls_2"
@ -878,30 +816,6 @@
"type": "github"
}
},
"site": {
"inputs": {
"advisory-db": "advisory-db",
"crane": "crane",
"fenix": "fenix_2",
"nixpkgs": [
"nixpkgs"
],
"tools": "tools"
},
"locked": {
"lastModified": 1707067915,
"narHash": "sha256-3utx587jbTHclu58TYDz/JvMZ0lBBs9pHRuCgc6oY1Q=",
"owner": "RGBCube",
"repo": "Site",
"rev": "b61b4c3da1992b69ff86a69cec670e2cf8d85f33",
"type": "github"
},
"original": {
"owner": "RGBCube",
"repo": "Site",
"type": "github"
}
},
"systems": {
"locked": {
"lastModified": 1681028828,
@ -977,27 +891,6 @@
"type": "github"
}
},
"tools": {
"inputs": {
"nixpkgs": [
"site",
"nixpkgs"
]
},
"locked": {
"lastModified": 1700815030,
"narHash": "sha256-x24obS8VMX5tmf8MkJMyjG7UxxJxSiH+k063Xwyfzqg=",
"owner": "RGBCube",
"repo": "FlakeTools",
"rev": "7fd62102ff360783e0fcd1f4eb434d90d06694c8",
"type": "github"
},
"original": {
"owner": "RGBCube",
"repo": "FlakeTools",
"type": "github"
}
},
"utils": {
"locked": {
"lastModified": 1605370193,

View file

@ -79,11 +79,6 @@
inputs.nixpkgs.follows = "nixpkgs";
};
site = {
url = "github:RGBCube/Site";
inputs.nixpkgs.follows = "nixpkgs";
};
themes = {
url = "github:RGBCube/ThemeNix";
};
@ -94,7 +89,6 @@
agenix,
mail,
homeManager,
site,
themes,
...
} @ inputs: let
@ -193,7 +187,6 @@
./secrets
mail.nixosModules.default
site.nixosModules.default
defaultConfiguration
] ++ (importDirectory ./hosts/${host})

View file

@ -3,6 +3,8 @@
let
inherit (config.networking) domain;
sitePath = "/var/www/site";
chatDomain = "chat.${domain}";
syncDomain = "sync.${domain}";
@ -95,11 +97,11 @@ in serverSystemConfiguration {
locations."/_matrix".proxyPass = "http://[::]:${toString synapsePort}";
locations."/_synapse/client".proxyPass = "http://[::]:${toString synapsePort}";
locations."/".proxyPass = "http://[::]:${toString config.services.site.port}/404/";
locations."/assets" = {
proxyPass = "http://[::]:${toString config.services.site.port}/assets";
locations."/".alias = "${sitePath}/404.html";
locations."/assets/"= {
alias = "${sitePath}/assets/";
extraConfig = ''
add_header Cache-Control "public, max-age=10800, immutable";
add_header Cache-Control "public, max-age=86400, immutable";
'';
};
};
@ -120,11 +122,11 @@ in serverSystemConfiguration {
locations."~ ^(\\/_matrix|\\/_synapse\\/client)"
.proxyPass = "http://[::]:${toString syncPort}";
locations."/".proxyPass = "http://[::]:${toString config.services.site.port}/404/";
locations."/assets" = {
proxyPass = "http://[::]:${toString config.services.site.port}/assets";
locations."/".alias = "${sitePath}/404.html";
locations."/assets/" = {
alias = "${sitePath}/assets/";
extraConfig = ''
add_header Cache-Control "public, max-age=10800, immutable";
add_header Cache-Control "public, max-age=86400, immutable";
'';
};
};

View file

@ -3,21 +3,23 @@
let
inherit (config.networking) domain;
port = 8003;
in serverSystemConfiguration {
services.site = enabled {
inherit port;
};
path = "/var/www/site";
services.nginx.virtualHosts.${domain} = (sslTemplate domain) // {
locations."/".proxyPass = "http://[::]:${toString port}";
locations."/assets" = {
proxyPass = "http://[::]:${toString port}/assets";
assetsLocation = {
locations."/assets/" = {
alias = "${path}/assets/";
extraConfig = ''
add_header Cache-Control "public, max-age=10800, immutable";
add_header Cache-Control "public, max-age=86400, immutable";
'';
};
};
in serverSystemConfiguration {
services.nginx.virtualHosts.${domain} = (sslTemplate domain) // assetsLocation // {
locations."/" = {
alias = "${path}/";
tryFiles = "$uri $uri/ $uri.html $uri/index.html =404";
};
};
services.nginx.virtualHosts."www.${domain}" = (sslTemplate domain) // {
locations."/".extraConfig = ''
@ -25,13 +27,7 @@ in serverSystemConfiguration {
'';
};
services.nginx.virtualHosts._ = (sslTemplate domain) // {
locations."/".proxyPass = "http://[::]:${toString port}/404/";
locations."/assets" = {
proxyPass = "http://[::]:${toString port}/assets";
extraConfig = ''
add_header Cache-Control "public, max-age=10800, immutable";
'';
};
services.nginx.virtualHosts._ = (sslTemplate domain) // assetsLocation // {
locations."/".alias = "${path}/404.html";
};
}

View file

@ -18,7 +18,7 @@ def main --wrapped [
if $host == (hostname) or $host == "" {
sudo sh -c $"nixos-rebuild switch ($flags | str join ' ') |& nom --json"
} else {
git ls-files | rsync --rsh "ssh -q" --delete --files-from - ./ cube:Configuration
git ls-files | rsync --rsh "ssh -q" --delete --compress --files-from - ./ cube:Configuration
ssh -q $host $"sh -c '
cd Configuration