Skip to content

Commit d76b46b

Browse files
authored
Allow Glance to bypass Authelia (#145)
1 parent 5ba8abe commit d76b46b

File tree

3 files changed

+208
-119
lines changed

3 files changed

+208
-119
lines changed

modules/profiles/observability/gatus/default.nix

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -366,7 +366,11 @@ in { config, lib, ... }: {
366366
url = "http://controller:9130";
367367
group = "Controller";
368368
})
369-
369+
(mkEndpoint {
370+
name = "Termix";
371+
url = "http://termix.e10.camp";
372+
group = "Controller";
373+
})
370374
];
371375
monitor = [
372376
(mkEndpoint {

modules/profiles/services/glance/default.nix

Lines changed: 159 additions & 118 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,22 @@
1-
{ hosts, ... }: {
1+
{ config, lib, ... }: {
2+
sops = {
3+
secrets = {
4+
glance_authelia_basic_auth_username = { sopsFile = ./secrets.json; };
5+
glance_authelia_basic_auth_password = { sopsFile = ./secrets.json; };
6+
};
7+
8+
templates.glance_environment_file = {
9+
content = ''
10+
AUTHELIA_BASIC_AUTH_USERNAME=${config.sops.placeholder.glance_authelia_basic_auth_username}
11+
AUTHELIA_BASIC_AUTH_PASSWORD=${config.sops.placeholder.glance_authelia_basic_auth_password}
12+
'';
13+
mode = "0700";
14+
};
15+
};
16+
217
services.glance = {
318
enable = true;
19+
environmentFile = config.sops.templates.glance_environment_file.path;
420
settings = {
521
server = {
622
host = "0.0.0.0";
@@ -16,138 +32,163 @@
1632
type = "monitor";
1733
cache = "1m";
1834
title = "Services";
19-
sites = [
20-
{
21-
title = "Plex";
22-
url = "https://e10.video";
23-
check-url = "https://e10.video/identity";
24-
icon = "di:plex";
25-
}
26-
{
27-
title = "Jellyseerr";
28-
url = "https://requests.e10.video";
29-
icon = "di:jellyseerr";
30-
}
31-
{
32-
title = "Sabnzbd";
33-
url = "https://sabnzbd.e10.camp";
34-
icon = "di:sabnzbd";
35-
}
36-
{
37-
title = "Sonarr";
38-
url = "https://sonarr.e10.camp";
39-
icon = "di:sonarr";
40-
}
41-
{
42-
title = "Radarr";
43-
url = "https://radarr.e10.camp";
44-
icon = "di:radarr";
45-
}
46-
{
47-
title = "Prowlarr";
48-
url = "https://prowlarr.e10.camp";
49-
icon = "di:prowlarr";
50-
}
51-
{
52-
title = "Huntarr";
53-
url = "https://huntarr.e10.camp";
54-
icon =
55-
"https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/png/huntarr.png";
56-
}
57-
{
58-
title = "Wizarr";
59-
url = "https://join.e10.video";
60-
icon = "di:wizarr";
61-
}
62-
{
35+
sites = let
36+
mkSite = { title, url, check-url ? null, icon
37+
, basicAuth ? false }: {
38+
inherit title url check-url icon;
39+
basic-auth = lib.mkIf basicAuth {
40+
username = "\${AUTHELIA_BASIC_AUTH_USERNAME}";
41+
password = "\${AUTHELIA_BASIC_AUTH_PASSWORD}";
42+
};
43+
};
44+
in [
45+
(mkSite {
46+
title = "Authelia";
47+
url = "https://auth.e10.camp";
48+
icon = "di:authelia";
49+
})
50+
(mkSite {
51+
title = "Authelia (Monitor)";
52+
url = "https://auth.monitor.e10.camp";
53+
icon = "di:authelia";
54+
})
55+
(mkSite {
6356
title = "Bazarr";
6457
url = "https://bazarr.e10.camp";
6558
icon = "di:bazarr";
66-
alt-status-codes = [ 401 ];
67-
}
68-
{
69-
title = "Fileflows";
70-
url = "https://fileflows.e10.camp";
71-
check-url = "https://fileflows.e10.camp/manifest.json";
72-
icon = "di:fileflows";
73-
}
74-
{
75-
title = "Tautulli";
76-
url = "https://tautulli.e10.camp";
77-
icon = "di:tautulli";
78-
}
79-
{
59+
basicAuth = true;
60+
})
61+
(mkSite {
62+
title = "BentoPDF";
63+
url = "https://pdf.e10.camp";
64+
icon = "di:bentopdf";
65+
basicAuth = true;
66+
})
67+
(mkSite {
68+
title = "Change Detection";
69+
url = "https://change-detection.e10.camp";
70+
icon = "di:changedetection";
71+
})
72+
(mkSite {
8073
title = "e10.land";
8174
url = "https://e10.land";
8275
icon = "https://e10.land/favicon.ico";
83-
}
84-
{
85-
title = "Miniflux";
86-
url = "https://feeds.e10.camp";
87-
icon = "di:miniflux";
88-
}
89-
{
90-
title = "Paperless";
91-
url = "https://paperless.e10.camp";
92-
icon = "di:paperless";
93-
}
94-
{
76+
})
77+
(mkSite {
78+
title = "Fileflows";
79+
url = "https://fileflows.e10.camp";
80+
icon = "di:fileflows";
81+
basicAuth = true;
82+
})
83+
(mkSite {
84+
title = "Gatus";
85+
url = "https://status.e10.camp";
86+
icon = "di:gatus";
87+
})
88+
(mkSite {
89+
title = "Grafana";
90+
url = "https://grafana.e10.camp";
91+
icon = "di:grafana";
92+
})
93+
(mkSite {
94+
title = "Huntarr";
95+
url = "https://huntarr.e10.camp";
96+
icon =
97+
"https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/png/huntarr.png";
98+
})
99+
(mkSite {
95100
title = "Immich";
96101
url = "https://immich.e10.camp";
97102
icon = "di:immich";
98-
}
99-
{
103+
})
104+
(mkSite {
105+
title = "Jellyseerr";
106+
url = "https://requests.e10.video";
107+
icon = "di:jellyseerr";
108+
})
109+
(mkSite {
110+
title = "LLDAP";
111+
url = "https://ldap.e10.camp";
112+
icon = "di:lldap";
113+
})
114+
(mkSite {
115+
title = "Mazanoke";
116+
url = "https://mazanoke.e10.camp";
117+
icon =
118+
"https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/png/mazanoke.png";
119+
basicAuth = true;
120+
})
121+
(mkSite {
122+
title = "Miniflux";
123+
url = "https://feeds.e10.camp";
124+
icon = "di:miniflux";
125+
})
126+
(mkSite {
100127
title = "Netbox";
101128
url = "https://netbox.e10.camp";
102129
icon = "di:netbox";
103-
}
104-
{
105-
title = "Grafana";
106-
url = "https://grafana.e10.camp";
107-
icon = "di:grafana";
108-
}
109-
{
110-
title = "Attic";
111-
url = "https://cache.e10.camp";
112-
icon = "di:nixos";
113-
}
114-
{
130+
})
131+
(mkSite {
132+
title = "Paperless";
133+
url = "https://paperless.e10.camp";
134+
icon = "di:paperless";
135+
})
136+
(mkSite {
137+
title = "Plex";
138+
url = "https://e10.video";
139+
check-url = "https://e10.video/identity";
140+
icon = "di:plex";
141+
})
142+
(mkSite {
143+
title = "Profilarr";
144+
url = "https://profilarr.e10.camp";
145+
icon = "di:profilarr";
146+
})
147+
(mkSite {
148+
title = "Prowlarr";
149+
url = "https://prowlarr.e10.camp";
150+
icon = "di:prowlarr";
151+
})
152+
(mkSite {
153+
title = "Radarr";
154+
url = "https://radarr.e10.camp";
155+
icon = "di:radarr";
156+
})
157+
(mkSite {
158+
title = "SABnzbd";
159+
url = "https://sabnzbd.e10.camp";
160+
icon = "di:sabnzbd";
161+
})
162+
(mkSite {
163+
title = "Sonarr";
164+
url = "https://sonarr.e10.camp";
165+
icon = "di:sonarr";
166+
})
167+
(mkSite {
168+
title = "Tautulli";
169+
url = "https://tautulli.e10.camp";
170+
icon = "di:tautulli";
171+
})
172+
(mkSite {
173+
title = "Termix";
174+
url = "https://termix.e10.camp";
175+
icon = "di:termix";
176+
})
177+
(mkSite {
178+
title = "Tracearr";
179+
url = "https://tracearr.e10.camp";
180+
icon = "di:tracearr";
181+
})
182+
(mkSite {
115183
title = "UniFi";
116184
url = "https://unifi.satan.network";
117185
icon = "di:unifi";
118-
}
119-
{
120-
title = "Blocky";
121-
url =
122-
"http://${hosts.controller.config.networking.hostName}:${
123-
toString
124-
hosts.controller.config.services.blocky.settings.ports.http
125-
}/api/blocking/status";
126-
icon = "di:blocky";
127-
}
128-
{
129-
title = "BentoPDF";
130-
url = "https://pdf.e10.camp";
131-
icon = "di:bentopdf";
132-
alt-status-codes = [ 401 ];
133-
}
134-
{
135-
title = "Mazanoke";
136-
url = "https://mazanoke.e10.camp";
137-
icon =
138-
"https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/png/mazanoke.png";
139-
alt-status-codes = [ 401 ];
140-
}
141-
{
142-
title = "Authelia";
143-
url = "https://auth.e10.camp";
144-
icon = "di:authelia";
145-
}
146-
{
147-
title = "LLDAP";
148-
url = "https://ldap.e10.camp";
149-
icon = "di:lldap";
150-
}
186+
})
187+
(mkSite {
188+
title = "Wizarr";
189+
url = "https://join.e10.video";
190+
icon = "di:wizarr";
191+
})
151192
];
152193
}
153194
{ type = "lobsters"; }

modules/profiles/services/glance/secrets.json

Lines changed: 44 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)