add widget

This commit is contained in:
soraefir
2026-05-31 21:29:12 +02:00
parent 5d979d0720
commit 4322d315b2
3 changed files with 78 additions and 23 deletions

View File

@@ -4,28 +4,80 @@ let
serverCfg = config.syscfg.server;
settings = pkgs.writers.writeYAML "settings.yaml" {
title = "My Self-Hosted Dashboard";
base = "";
theme = "dark";
# layout = {
# Infrastructure = {
# style = "grid";
# columns = 3;
# };
# };
auth = {
oidc = {
enabled = true;
provider = "authentik";
issuerUrl = "https://${serverCfg.containers.authentik.subdomain}.${serverCfg.domain}";
clientId = "homepage";
clientSecret = "{{HOMEPAGE_VAR_OAUTH_SECRET}}";
groupsProperty = "groups";
title = "My Self-Hosted Dashboard";
description = "";
startUrl = "https://${containerCfg.subdomain}.${serverCfg.domain}";
background = {
# image = "...";
blur = "sm"; #sm, md, xl,...
# saturate = "";
# brightness = "";
# opacity = "";
};
cardBlur = "xs"; #xs, md, ...
# favicon = "";
theme = "dark";
color = "slate";
pwa = {
};
};
};
layout = {
Admin = {
style = "grid";
columns = 4;
};
};
providers = {
finnhub = "{{HOMEPAGE_VAR_FINNHUB}}";
};
headerStyle = "clean";
hideVersion = true;
disableUpdateCheck = true;
showStats = false;
statusStyle = "dot";
hideErrors = true;
auth = {
oidc = {
enabled = true;
provider = "authentik";
issuerUrl = "https://${serverCfg.containers.authentik.subdomain}.${serverCfg.domain}";
clientId = "homepage";
clientSecret = "{{HOMEPAGE_VAR_OAUTH_SECRET}}";
groupsProperty = "groups";
};
};
};
widgets = pkgs.writers.writeYAML "widgets.yaml" [
{openmeteo = {
latitude = "47.3769";
longitude = "8.5417";
timezone = "Europe/Zurich";
units = "metric";
cache = "15";
};}
{search = {
provider = "custom";
focus = true;
showSearchSuggestions = true;
target = "_blank";
url = "https://${serverCfg.containers.searxng.subdomain}.${serverCfg.domain}/search?q=";
suggestionUrl = "https://${serverCfg.containers.searxng.subdomain}.${serverCfg.domain}/autocompleter?q=";
};}
{stocks = {
provider = "finnhub";
color = true;
cache = 15;
watchlist = containerCfg.extra.stocks or [];
};}
];
bookmarks = pkgs.writers.writeYAML "bookmarks.yaml" [
];
services = pkgs.writers.writeYAML "services.yaml" [
{Media = lib.flatten [
(lib.optional (serverCfg.containers?jellyfin) {
@@ -237,6 +289,8 @@ in {
volumes = [
"${settings}:/app/config/settings.yaml:ro"
"${services}:/app/config/services.yaml:ro"
"${widgets}:/app/config/widgets.yaml:ro"
"${bookmarks}:/app/config/bookmarks.yaml:ro"
];
};
};

View File

@@ -1,4 +1,4 @@
CUSTOM: ENC[AES256_GCM,data:IZgcdl4vF6K5iGPlnSRgrabEV/ONxEtl4i0b55UVp2hjh91jr1ZCzfm0VB51vbEiLX/z1dkPpo/mQeFq84EavYz5QsC2Zvfwd+rN4nGh9gR47gHnXB325shOWvfv07s5RrJOi4bPyci5oXhB4pTt6cnw9MNanWQfoIxaOotWdi6gBng9sM9w1MapJWW/4Rt5jDznNTkO3bCP9aMRmdEm5yTWnHzAPRnvC/ciuHvf0BSMht9izMYwNhRBEx0x4diN85B/HiRekEPR8ndV2/AcYwdbnVdDupFEXVH93x4tyDd8pKRdRJlmUklBRHKGqG0sNkVTTJAxW/qYg0sUVzhKLLkQaxfR5/TgTAMS8Ruyz8HUXzw4iidrT3CaQDkv88WsJqwVICzwpRxfJjbL6pMjtsZ4wNb0OFTpR7b+Aiczcge9BRWahYuH2B9Ha++8xd/R73bjVyS6dGdRbhI8NBtMFK0P60Z4gA+0FxjtBR291FNYab9c2vSFrVvdMqXaNboch6fF8O334ePklmVMmjmCi8Q3k0zYJKpoUfrRpGGqH+2huOdwMnp4QB7tE+QM45R30eXS8pWRLhHpHA2z5mSSIoTTXD2ifU/wuzhX29ivim7s7X1JzzL9xbIEpoz+u2IPgrSbOy19YUDwmnE5C22XknPnPAbbeBMQSZsXfwm0/HZCkq68Mp1LwY0d8LwPJELw6yV+QXaLJsKBwBI46baUvZLKY4A9C5kDyTMH/5re0bI22uHgJ3LPJPq0ciK4iaKD8gqpGowSO9J21Hd89Fu8pErLqSYrzEfZtqJ7kL5hll5zCyaVzvjMaaPLzSvy0wEvzMxUZd+f2xsbBIC5iRS3NeoqN0iH6b4ulOzGVlLU67xMgtAtKqqOoz/rBs/b0EiBQpEA6Bs7zyYppxCC7xdDMlQzZgSNO7vQ7mKVmWO6Tbd0SbBs/WLAdNjiBf4D44yb6avKjTk03bmgc9tUlm4KaycWiVvMk5uhihhVXrIQBnkde95gMFkZz+gNXZDGT7uEZZ8ubsUMX4/WAlsLOrMtXtk0nj4wNZjW3vJioUKNO+6wYChqYGMhP3hiYclnV7IrmF/200tNcomyih0pZvS2DpWTConBOO+qF7/Bj/5h2RRiObP5JawWJSVT+D2ShZA179uCnl6ZvsyjIw2eGSjJjopx/cE6EH6wPALXIjqsjjlbjxD6udxtAur419ONFkBaSIdusahCrwbJ7AxxGw20Njo0JSvDJ8Z8dKVo0qshr0M1,iv:H0C/OpGOs5HpQsUsisi5hbL4LDey0J2/OyAwBSRJjmk=,tag:SjaMVuoBNRqLliXrkJQeeA==,type:str]
CUSTOM: ENC[AES256_GCM,data:7QblAIVKUop4NOE4DvuTJUFigXoc0VJ20ADbSjunP1JZfCvrWSZU0gJRr1jmJ2uZrtyWOZUlISmn0HzzGpeJ+FPmj2tCSiqd8aG+j62Dz3JObVJikFde6f95vcn7cnX9AL4IUil+bB6vCPojEskmHVTmcqy9APN7fOlkpvWkBPgN1FnN2PBxIFGNspRHasWZBfXdkpKU2fOLDv6oeNq3U/6o+mqdZru6pHqVsCLOrq8svdoLnWV7KSZ6PFK9HaxI4BfasXZvZaoMSlAKaREeQx52M3xab6vCCh7lTUN2oQD0B47bQhWrC/QpK2e3EdUBfzJWL94tUcTFbLpN+5qwdl6rfM17laFP6ZAjOnYrnK5PXPnOI7WARFw2bs4rBJka+GgCTy8jYgOSGae1Gl1ti9cLkuSy2kiUf2N5uIr5x796TyLA6RH5eGapSR9h+7uTMtozM4TJ3NNwYkvMJR5Uh/5sDNnZ6kcWhqpfvFC9ZFYB7v6wdbYY2As9jLMBPmUe38ivTrqsQSQAdKCgQotGXFEG228VideGn6DeBQCv2T2OVFQHxjYFiTq11S0eOlO87PVGDlOpd6RaKyZJ9mjORTisSNGlFK+GhQtQ0KFMxdZiolEY3Q4UqBR4J5Dx40xSK/1Jo1dZV+P8gRKtdKkVGb2wzjYtfKPlDB1mH3YTl+tU/xomeBnvHm4+XyD7kivCbnLs+009sFocRGPDr7M9MRHwLVBV5UCnewJEJDTvVbPddDSQK/P8gHLYN3pzc6H24dIjWe2w2LSjEEoPh0gCHBBICt746c0N2iJvL190qB9AY7iLMXpitrmYcLVrqfQN3/pzafxNMLaOTIwVc2yeOXwlLBzd1Ze8Inp/e/kirgWQJtjjj3OiqBWnuCLG9d3vCHz7HJidhvX3rSrdqElir6LrjwxJA3g6beNLtnMlM1a4aQS/ouStN1M3u+fMW+iSc3JDsKFH+1qesgPm409+wQPDeRMzsAfKot9tGOH8Y2PV9sBXe2k7H/x3IDIHoY+ArECMIQu/VSU4zmyAZFSYQwvLdvzVjC6vmGrS2gsDpXT0bWW9R5bJuPQTd9wCQhIFJ8oTtmlgJcJ9Xt0bmckhMzsyi5jWZcMgRsaBLmaGCDZ1yQNK/EwFMJwCEf2tgNqLSPuOLFn3RsmSV0sfjghlzxUJtSDeWhgidjGOHSfkgc8tnBVOxfR7mqNoZiMEhymlGUr2sHQR4CDS/YNccwBQR/bktp0eRxvsyfKuFIEPzpRnYtBV9ZUPa/BPKJ9MTuVoJu6bKWR6J9fU0Gltrti+uGUt9/LM6rVGsGYiazIHRfTW1oq3NuipMbmqPneegIk=,iv:bwKIbhcmV0Z5jwrkhI71BDq+og7ZqFVVc3eR2UNa7iE=,tag:l0oi/zALYAOy/43cbA4uZg==,type:str]
TRAEFIK: ENC[AES256_GCM,data:Ei+/OL7xwNaOEg3rSaz95N78nvp51lC63XCplNzeD+bBMGcK9G7HoyQxfpaJ7S0MkuMW0ZXT2nJ4GES40GoJCZIrnEiSBm2tpjDfNjlS/rFwxx0wVfM1nsEuBf3pL5dqiCNa9+Lad2Cd,iv:d1MH0ive+E8xuUK0CIOXZeEigHJKVGlFaq0iH4KSbZA=,tag:VTARuNeotr2I0+fdOk+iqA==,type:str]
AUTHENTIK: ENC[AES256_GCM,data:HlUFb7JjzSMTM345miSLlUE4SEXgaRAx7SkDDQzaJzs9VuifJKtOE2M4PCKc35VjVt9xIFH+YoIE93re10Rwbe+QEaUphPOgb/G7jRhaaPV/roBYuv6uO5xy68jaVJZpobxajOSVUmJa1JANCh1qrX0+Imr6udYULvK6wQzAnu2tEDkElQ3eZtezUa4E5ia1j7RCYTTPW9oie+YEVJl5Aws2HzPK5q0wKojZOmHanbnKzij3KnSgtsMc3ftL1Fam3wlSk2n3Tw0nz8aBag9IPwYje5zdBkDJY6qiBwYKcBPQUIW+Na0xX2JHymwJSzMdKmW8cEV9b1fXCPsnYVXulb4VMVkTk4MibZ3YT57wlFhqhSy7D39ZTySllIZg8sOrj8cKhpJ3HlSbceD1GnPJatVzZkDkDeyICLu9sYX3B+KrCDlL5sUMPagUFc3g3HUAPxLVPltoP69ro69acUoz5w8gkAwHlE45I3biC/jLz4telEcW8GkF868j3gsHiayE3f87T5MOPvuvhAFdSMl3SF1ND3mWjJq7+FmA6BhxgESg4m+vPnYyVumcbXJnbgfW69BgPYcL1CWZcA+SP6OWg9GOYT5SuWixkaGn2TgRAUj3nlCcAja8,iv:uXAyOIBl9lGYBvALMdvp2hf6cj6QGWRcyUvEsjIDr1I=,tag:iLxO/qYT2zafXhFGVVUYkA==,type:str]
NEXTCLOUD: ENC[AES256_GCM,data:IWitzubILQ5SrGdO3UQZboisqAECt5lXOqHVg4yAKxedG7ZLOgVp6jPV+4VVDC13KEkxIsiYjjNvjqnOXCdYWQIC13YZ+o2IBDI9PgavBB3nmjfi0Q7BVki6C8qCtbM5H9uFlQ3h7rkPyEbE3pHa3dY5uwgdtmvw3qKf2UAZGIJCU7dKamjuTCucGitOEG434jFQik9duHZs7EV3AZrkLXqOfdvftvdpciDb/4/K7h/4uEYSXJ94Lf0b16/NRUcR,iv:1UvcbqC3hJEHU9t6Z+N226DTJEcgM315ynYkxPKpYSM=,tag:FGkXlUw+7LRu1/cpMys7OA==,type:str]
@@ -32,8 +32,8 @@ sops:
S1NaTVFTL0FCdm1EQmRsUnlhclZNZlEKEgIe60qkvY8+UocjQU+WM2dTL/1y3Kqk
d4RrlLP9NSozwVsPYI4ntygvMSApbT4v0YvoO7gV90lkGWEvW1YDfA==
-----END AGE ENCRYPTED FILE-----
lastmodified: "2026-05-31T13:45:17Z"
mac: ENC[AES256_GCM,data:jUvTRR/YyVKXxtUgCAOQY8yqCmQYYXhVI+cdxFzG44X19tgs/Ifb9QBPnO4iunXe0IU28vHIIIWC0do/Zyo4/e4Yk+lQgNo3EsrMErEoU+v8aJMfk7qU4FFTaRBcWSsXY7xfUFKHYgVwXOURVdmS2QAX2TvRwzjpXPny5xdMVlM=,iv:yj2GDU/XCo06BQl6KSnM1o2/26sPM+YLs3YrIOErL4U=,tag:YPJQAv1QMEsEQI2GGHOuTA==,type:str]
lastmodified: "2026-05-31T19:09:28Z"
mac: ENC[AES256_GCM,data:lnyCgfyqc+Fsq7jCQu2HgAmXxPScNzIXCDtKoJfzCPJLha2XG8VMfNl7mLGgcVQcdc0gBk6qh9gpZh2weRjWGgSvhuvms+rlwH+TNTq2owrti9QZCpBEDWW9pgKAol9VPtmFY+RbTkVufpFco5m3eeOVAhdv9WiDvVP5n6xHB+M=,iv:SusyVEVtV8ehEvx7kb1Gget/yYOkqSAbg653ajccjpI=,tag:ldqd0IR8CMUkejTl5GP+IA==,type:str]
pgp:
- created_at: "2026-05-05T23:46:27Z"
enc: |-

View File

@@ -38,6 +38,7 @@
authentik.subdomain = "sso";
# searxng.subdomain = "searx";
homepage.subdomain = "home";
homepage.extra.stocks = [ "ZGLD" "VOO" "QUIK" "AMD" "DPRO" "KTOS" "NNE" "NVO" ];
# ===== CLOUD =====
# nextcloud.subdomain = "cloud";
# collabora.subdomain = "office";