feat(tazjin/koptevo): deploy airsonic at player.tazj.in

Change-Id: I9f0dec6491906319550c97d4cc15b2cdda4a5ebe
Reviewed-on: https://cl.tvl.fyi/c/depot/+/9499
Tested-by: BuildkiteCI
Reviewed-by: tazjin <tazjin@tvl.su>
Autosubmit: tazjin <tazjin@tvl.su>
This commit is contained in:
Vincent Ambo 2023-10-01 01:49:43 +03:00 committed by clbot
parent 4ab0a9498f
commit c941ccb42b
2 changed files with 34 additions and 1 deletions

View file

@ -12,10 +12,11 @@ in
(mod "quassel.nix")
(mod "www/base.nix")
(mod "www/tazj.in.nix")
(usermod "airsonic.nix")
(usermod "geesefs.nix")
(usermod "monica.nix")
(usermod "predlozhnik.nix")
(usermod "tgsa.nix")
(usermod "geesefs.nix")
(depot.third_party.agenix.src + "/modules/age.nix")
];

View file

@ -0,0 +1,32 @@
# airsonic is a decent, web-based player UI for subsonic
{ pkgs, ... }:
let
env = builtins.toFile "env.js" ''
window.env = {
SERVER_URL: "https://music.tazj.in",
}
'';
airsonicDist = pkgs.fetchzip {
name = "airsonic-refix";
# from master CI @ f894d5eacebec2f47486f340c8610f446d4f64b3
# https://github.com/tamland/airsonic-refix/actions/runs/6150155527
url = "https://storage.yandexcloud.net/tazjin-public/airsonic-refix-f894d5ea.zip";
sha256 = "02rnh9h7rh22wkghays389yddwbwg7sawmczdxdmjrcnkc7mq2jz";
stripRoot = false;
postFetch = "cp ${env} $out/env.js";
};
in
{
services.nginx.virtualHosts."player.tazj.in" = {
enableACME = true;
forceSSL = true;
root = "${airsonicDist}";
# deal with SPA routing requirements
locations."/".extraConfig = "try_files $uri /index.html;";
};
}