feat(tazjin/nixos): serve homepage on yggdrasil
First test of running an Yggdrasil service, lets see how that goes! Change-Id: Iac10b72f7314a45df13ea539c5c1cef6c994154f Reviewed-on: https://cl.tvl.fyi/c/depot/+/12484 Reviewed-by: tazjin <tazjin@tvl.su> Tested-by: BuildkiteCI
This commit is contained in:
parent
7593592241
commit
c9eeb7da70
2 changed files with 41 additions and 30 deletions
|
@ -98,6 +98,8 @@ in
|
||||||
openssh.authorizedKeys.keys = depot.users.tazjin.keys.all;
|
openssh.authorizedKeys.keys = depot.users.tazjin.keys.all;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
users.users.nginx.extraGroups = [ "acme" ];
|
||||||
|
|
||||||
age.secrets =
|
age.secrets =
|
||||||
let
|
let
|
||||||
secretFile = name: depot.users.tazjin.secrets."${name}.age";
|
secretFile = name: depot.users.tazjin.secrets."${name}.age";
|
||||||
|
|
|
@ -1,6 +1,38 @@
|
||||||
# serve tazjin's website & blog
|
# serve tazjin's website & blog
|
||||||
{ depot, config, lib, pkgs, ... }:
|
{ depot, config, lib, pkgs, ... }:
|
||||||
|
|
||||||
|
let
|
||||||
|
extraConfig = ''
|
||||||
|
location = /en/rss.xml {
|
||||||
|
return 301 https://tazj.in/feed.atom;
|
||||||
|
}
|
||||||
|
|
||||||
|
${depot.users.tazjin.blog.oldRedirects}
|
||||||
|
location /blog/ {
|
||||||
|
alias ${depot.users.tazjin.blog.rendered}/;
|
||||||
|
|
||||||
|
if ($request_uri ~ ^/(.*)\.html$) {
|
||||||
|
return 302 /$1;
|
||||||
|
}
|
||||||
|
|
||||||
|
try_files $uri $uri.html $uri/ =404;
|
||||||
|
}
|
||||||
|
|
||||||
|
location = /predlozhnik {
|
||||||
|
return 302 https://predlozhnik.ru;
|
||||||
|
}
|
||||||
|
|
||||||
|
# redirect for easier entry on a TV
|
||||||
|
location = /tv {
|
||||||
|
return 302 https://tazj.in/blobs/play.html;
|
||||||
|
}
|
||||||
|
|
||||||
|
# Temporary place for serving static files.
|
||||||
|
location /blobs/ {
|
||||||
|
alias /var/lib/tazjins-blobs/;
|
||||||
|
}
|
||||||
|
'';
|
||||||
|
in
|
||||||
{
|
{
|
||||||
config = {
|
config = {
|
||||||
services.nginx.virtualHosts."tazj.in" = {
|
services.nginx.virtualHosts."tazj.in" = {
|
||||||
|
@ -8,37 +40,14 @@
|
||||||
forceSSL = true;
|
forceSSL = true;
|
||||||
root = depot.users.tazjin.homepage;
|
root = depot.users.tazjin.homepage;
|
||||||
serverAliases = [ "www.tazj.in" ];
|
serverAliases = [ "www.tazj.in" ];
|
||||||
|
inherit extraConfig;
|
||||||
|
};
|
||||||
|
|
||||||
extraConfig = ''
|
services.nginx.virtualHosts."y.tazj.in" = {
|
||||||
location = /en/rss.xml {
|
enableSSL = true;
|
||||||
return 301 https://tazj.in/feed.atom;
|
useACMEHost = "y.tazj.in";
|
||||||
}
|
root = depot.users.tazjin.homepage;
|
||||||
|
inherit extraConfig;
|
||||||
${depot.users.tazjin.blog.oldRedirects}
|
|
||||||
location /blog/ {
|
|
||||||
alias ${depot.users.tazjin.blog.rendered}/;
|
|
||||||
|
|
||||||
if ($request_uri ~ ^/(.*)\.html$) {
|
|
||||||
return 302 /$1;
|
|
||||||
}
|
|
||||||
|
|
||||||
try_files $uri $uri.html $uri/ =404;
|
|
||||||
}
|
|
||||||
|
|
||||||
location = /predlozhnik {
|
|
||||||
return 302 https://predlozhnik.ru;
|
|
||||||
}
|
|
||||||
|
|
||||||
# redirect for easier entry on a TV
|
|
||||||
location = /tv {
|
|
||||||
return 302 https://tazj.in/blobs/play.html;
|
|
||||||
}
|
|
||||||
|
|
||||||
# Temporary place for serving static files.
|
|
||||||
location /blobs/ {
|
|
||||||
alias /var/lib/tazjins-blobs/;
|
|
||||||
}
|
|
||||||
'';
|
|
||||||
};
|
};
|
||||||
|
|
||||||
services.nginx.virtualHosts."git.tazj.in" = {
|
services.nginx.virtualHosts."git.tazj.in" = {
|
||||||
|
|
Loading…
Reference in a new issue