]> git.immae.eu Git - perso/Immae/Config/Nix.git/blame - systems/eldiron/websites/tools/ympd.nix
Squash changes containing private information
[perso/Immae/Config/Nix.git] / systems / eldiron / websites / tools / ympd.nix
CommitLineData
1a64deeb 1{ env, config }:
940f1834
IB
2let
3 ympd = rec {
4 config = {
ab8f306d 5 webPort = "localhost:${toString env.listenPort}";
914dd76c
IB
6 host = env.mpd.host;
7 port = env.mpd.port;
940f1834
IB
8 };
9 apache = {
10 modules = [
11 "proxy_wstunnel"
12 ];
13 vhostConf = ''
e229e6f2 14 <LocationMatch "^/mpd(?!/music.(mp3|ogg))">
940f1834
IB
15 Use LDAPConnect
16 Require ldap-group cn=users,cn=mpd,ou=services,dc=immae,dc=eu
940f1834
IB
17 </LocationMatch>
18
19 RedirectMatch permanent "^/mpd$" "/mpd/"
20 <Location "/mpd/">
21 ProxyPass http://${config.webPort}/
22 ProxyPassReverse http://${config.webPort}/
23 ProxyPreserveHost on
24 </Location>
25 <Location "/mpd/ws">
26 ProxyPass ws://${config.webPort}/ws
27 </Location>
e229e6f2 28 <Location "/mpd/music.mp3">
a9f52ec5
IB
29 ProxyPass unix:///run/mpd/mp3.sock|http://tools.immae.eu/mpd/mp3
30 ProxyPassReverse unix:///run/mpd/mp3.sock|http://tools.immae.eu/mpd/mp3
e229e6f2
IB
31 </Location>
32 <Location "/mpd/music.ogg">
a9f52ec5
IB
33 ProxyPass unix:///run/mpd/ogg.sock|http://tools.immae.eu/mpd/ogg
34 ProxyPassReverse unix:///run/mpd/ogg.sock|http://tools.immae.eu/mpd/ogg
e229e6f2 35 </Location>
940f1834
IB
36 '';
37 };
38 };
39in
1a64deeb
IB
40 ympd // {
41 monitoringPlugins = [ "http" ];
42 monitoringObjects.service = [
43 {
44 service_description = "mpd website is running on tools.immae.eu";
45 host_name = config.hostEnv.fqdn;
46 use = "external-web-service";
47 check_command = ["check_https_auth" "tools.immae.eu" "/mpd/" "<title>ympd"];
48
49 servicegroups = "webstatus-webapps";
50 _webstatus_name = "MPD (YMPD)";
51 _webstatus_url = "https://tools.immae.eu/mpd/";
52 }
53 ];
54 }