]>
Commit | Line | Data |
---|---|---|
1a64deeb | 1 | { env, config }: |
940f1834 IB |
2 | let |
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 | }; | |
39 | in | |
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 | } |