]>
Commit | Line | Data |
---|---|---|
1 | { env, config }: | |
2 | let | |
3 | ympd = rec { | |
4 | config = { | |
5 | webPort = "localhost:${toString env.listenPort}"; | |
6 | host = env.mpd.host; | |
7 | port = env.mpd.port; | |
8 | }; | |
9 | apache = { | |
10 | modules = [ | |
11 | "proxy_wstunnel" | |
12 | ]; | |
13 | vhostConf = '' | |
14 | <LocationMatch "^/mpd(?!/music.(mp3|ogg))"> | |
15 | Use LDAPConnect | |
16 | Require ldap-group cn=users,cn=mpd,ou=services,dc=immae,dc=eu | |
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> | |
28 | <Location "/mpd/music.mp3"> | |
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 | |
31 | </Location> | |
32 | <Location "/mpd/music.ogg"> | |
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 | |
35 | </Location> | |
36 | ''; | |
37 | }; | |
38 | }; | |
39 | in | |
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 | } |