mirror of
https://github.com/gethomepage/homepage.git
synced 2025-12-07 09:35:54 -08:00
Merge branch 'main' into pr/3743
This commit is contained in:
2
.github/ISSUE_TEMPLATE/bug_report.yml
vendored
2
.github/ISSUE_TEMPLATE/bug_report.yml
vendored
@@ -13,7 +13,7 @@ body:
|
||||
attributes:
|
||||
label: Before submitting, please confirm the following
|
||||
options:
|
||||
- label: I confirm this was discussed, and the maintainers suggest I open an issue (note that AI bots are not maintainers).
|
||||
- label: I confirm this was discussed, and the maintainers asked that I open an issue.
|
||||
required: true
|
||||
- label: I am aware that if I create this issue without a discussion, it will be removed without a response.
|
||||
required: true
|
||||
|
||||
@@ -34,13 +34,6 @@ These companies help the Homepage project by providing services, tools, and reso
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<div style="margin-bottom: 16px;">
|
||||
<a href="https://glimelab.ai/"><img src="https://framerusercontent.com/images/28KxmT1G06GrFM8TKeNAC03QIms.svg" alt="Crowdin" style="max-width: 100%; height: 64px; display: block;" /></a>
|
||||
<p>
|
||||
GlimeLab provides the project with the awesome AI chatbot here and on GitHub and Discord.
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<div style="margin-bottom: 16px;">
|
||||
<a href="https://www.jetbrains.com/"><img src="https://resources.jetbrains.com/storage/products/company/brand/logos/jetbrains.png" alt="JetBrains" style="max-width: 100%; height: 64px; display: block;" /></a>
|
||||
<p>
|
||||
|
||||
@@ -1,35 +0,0 @@
|
||||
var glimeScript;
|
||||
var glimeStyles = [];
|
||||
document$.subscribe(function () {
|
||||
if (!glimeScript) {
|
||||
glimeScript = document.createElement("script");
|
||||
glimeScript.setAttribute("src", "https://cdn.glimelab.ai/widget/1.0.0/widget.js");
|
||||
glimeScript.setAttribute("onload", "onGlimeLoad()");
|
||||
document.head.appendChild(glimeScript);
|
||||
} else {
|
||||
var newGlimeStyle = document.createElement("style");
|
||||
document.head.appendChild(newGlimeStyle);
|
||||
var i = 0;
|
||||
glimeStyles.forEach((rule) => {
|
||||
newGlimeStyle.sheet.insertRule(rule.cssText, i);
|
||||
i++;
|
||||
});
|
||||
}
|
||||
});
|
||||
|
||||
onGlimeLoad = () => {
|
||||
window.glime.init("Bl3mlvfCnTnRm5");
|
||||
setTimeout(() => {
|
||||
const sheets = document.styleSheets;
|
||||
[...sheets].forEach((sheet) => {
|
||||
if (!sheet.href) {
|
||||
[...sheet.cssRules].forEach((rule) => {
|
||||
if (!rule || rule.href || !rule.selectorText) return;
|
||||
if (rule.selectorText.indexOf(".css-") === 0 || rule.selectorText.indexOf("glime") > -1) {
|
||||
glimeStyles.push(rule);
|
||||
}
|
||||
});
|
||||
}
|
||||
});
|
||||
}, 1000);
|
||||
};
|
||||
@@ -14,6 +14,16 @@
|
||||
--md-default-fg-color: white;
|
||||
}
|
||||
|
||||
[data-md-color-scheme="default"] .md-search__inner {
|
||||
--md-default-fg-color--light: gray;
|
||||
--md-default-fg-color--lighter: black;
|
||||
--md-default-bg-color: hsla(0, 0%, 100%, 0.9);
|
||||
}
|
||||
|
||||
[data-md-color-scheme="default"] .md-search__inner .md-search__input {
|
||||
color: var(--md-default-fg-color--light);
|
||||
}
|
||||
|
||||
[data-md-toggle="search"]:not(:checked) ~ .md-header .md-search__form::after {
|
||||
position: absolute;
|
||||
top: 0.3rem;
|
||||
@@ -35,10 +45,6 @@
|
||||
}
|
||||
}
|
||||
|
||||
#glimeRoot * {
|
||||
font-family: var(--md-text-font) !important;
|
||||
}
|
||||
|
||||
#carbonads {
|
||||
margin-top: 10px;
|
||||
}
|
||||
@@ -92,11 +98,11 @@
|
||||
}
|
||||
|
||||
body {
|
||||
background-color: transparent !important;
|
||||
background-image: url("https://raw.githubusercontent.com/gethomepage/homepage/main/docs/assets/blossom_valley.jpg");
|
||||
background-size: cover;
|
||||
background-attachment: fixed;
|
||||
background-position: center;
|
||||
background-color: transparent;
|
||||
color: rgba(255, 255, 255, 0.8);
|
||||
}
|
||||
|
||||
@@ -152,6 +158,12 @@ body[data-md-color-scheme="default"] {
|
||||
-webkit-backdrop-filter: blur(16px);
|
||||
}
|
||||
|
||||
.md-header:has(.md-search-result__item),
|
||||
.md-header:has(.md-search__input.focus-visible) {
|
||||
backdrop-filter: none !important;
|
||||
-webkit-backdrop-filter: none !important;
|
||||
}
|
||||
|
||||
.md-footer-meta {
|
||||
background-color: transparent;
|
||||
}
|
||||
@@ -212,7 +224,7 @@ body[data-md-color-scheme="default"] {
|
||||
}
|
||||
|
||||
.md-search__scrollwrap {
|
||||
background-color: hsla(0, 0%, 0%, 0.3);
|
||||
background-color: hsla(0, 0%, 0%, 0.8);
|
||||
backdrop-filter: blur(16px);
|
||||
-webkit-backdrop-filter: blur(16px);
|
||||
}
|
||||
|
||||
@@ -6,10 +6,6 @@ hide:
|
||||
- navigation
|
||||
---
|
||||
|
||||
## Introducing the Homepage AI Bot
|
||||
|
||||
Thanks to the generous folks at [Glime](https://glimelab.ai), Homepage is now equipped with a pretty clever AI-powered bot. The bot has full knowledge of our docs, GitHub issues and discussions and is great at answering specific questions about setting up your Homepage. To use the bot, just hit the 'Ask AI' button on any page in our docs, [open a GitHub discussion](https://github.com/gethomepage/homepage/discussions) or check out the [#ai-support channel on Discord](https://discord.com/channels/1019316731635834932/1177885603552038993)!
|
||||
|
||||
## General Troubleshooting Tips
|
||||
|
||||
- For API errors, clicking the "API Error Information" button in the widget will usually show some helpful information as to whether the issue is reaching the service host, an authentication issue, etc.
|
||||
|
||||
@@ -6,6 +6,8 @@ icon: material/widgets
|
||||
|
||||
Homepage has two types of widgets: info and service. Below we'll cover each type and how to configure them.
|
||||
|
||||
The left navigation of this site contains links to all available widgets.
|
||||
|
||||
## Service Widgets
|
||||
|
||||
Service widgets are used to display the status of a service, often a web service or API. Services (and their widgets) are defined in your `services.yaml` file. Here's an example:
|
||||
|
||||
@@ -2,3 +2,18 @@
|
||||
title: Info Widgets
|
||||
description: Homepage info widgets.
|
||||
---
|
||||
|
||||
You can also find a list of all available info widgets in the sidebar navigation.
|
||||
|
||||
- [Date & Time](datetime.md)
|
||||
- [Glances](glances.md)
|
||||
- [Greeting](greeting.md)
|
||||
- [Kubernetes](kubernetes.md)
|
||||
- [Logo](logo.md)
|
||||
- [Longhorn](longhorn.md)
|
||||
- [OpenMeteo](openmeteo.md)
|
||||
- [OpenWeatherMap](openweathermap.md)
|
||||
- [Resources](resources.md)
|
||||
- [Search](search.md)
|
||||
- [Stocks](stocks.md)
|
||||
- [UniFi Controller](unifi_controller.md)
|
||||
|
||||
@@ -2,3 +2,125 @@
|
||||
title: Service Widgets
|
||||
description: Homepage service widgets.
|
||||
---
|
||||
|
||||
You can also find a list of all available service widgets in the sidebar navigation.
|
||||
|
||||
- [Adguard Home](adguard-home.md)
|
||||
- [Atsumeru](atsumeru.md)
|
||||
- [Audiobookshelf](audiobookshelf.md)
|
||||
- [Authentik](authentik.md)
|
||||
- [Autobrr](autobrr.md)
|
||||
- [Azure DevOps](azuredevops.md)
|
||||
- [Bazarr](bazarr.md)
|
||||
- [Caddy](caddy.md)
|
||||
- [Calendar](calendar.md)
|
||||
- [Calibre-Web](calibre-web.md)
|
||||
- [ChangeDetection.io](changedetectionio.md)
|
||||
- [Channels DVR Server](channelsdvrserver.md)
|
||||
- [Cloudflared](cloudflared.md)
|
||||
- [Coin Market Cap](coin-market-cap.md)
|
||||
- [CrowdSec](crowdsec.md)
|
||||
- [Custom API](customapi.md)
|
||||
- [Deluge](deluge.md)
|
||||
- [DiskStation](diskstation.md)
|
||||
- [DownloadStation](downloadstation.md)
|
||||
- [Emby](emby.md)
|
||||
- [ESPHome](esphome.md)
|
||||
- [EVCC](evcc.md)
|
||||
- [Fileflows](fileflows.md)
|
||||
- [Flood](flood.md)
|
||||
- [FreshRSS](freshrss.md)
|
||||
- [Fritz!Box](fritzbox.md)
|
||||
- [GameDig](gamedig.md)
|
||||
- [Gatus](gatus.md)
|
||||
- [Ghostfolio](ghostfolio.md)
|
||||
- [Gitea](gitea.md)
|
||||
- [Glances](glances.md)
|
||||
- [Gluetun](gluetun.md)
|
||||
- [Gotify](gotify.md)
|
||||
- [Grafana](grafana.md)
|
||||
- [HDHomeRun](hdhomerun.md)
|
||||
- [Healthchecks](healthchecks.md)
|
||||
- [Home Assistant](homeassistant.md)
|
||||
- [HomeBox](homebox.md)
|
||||
- [Homebridge](homebridge.md)
|
||||
- [iFrame](iframe.md)
|
||||
- [Immich](immich.md)
|
||||
- [Jackett](jackett.md)
|
||||
- [JDownloader](jdownloader.md)
|
||||
- [Jellyfin](jellyfin.md)
|
||||
- [Jellyseerr](jellyseerr.md)
|
||||
- [Kavita](kavita.md)
|
||||
- [Komga](komga.md)
|
||||
- [Kopia](kopia.md)
|
||||
- [Lidarr](lidarr.md)
|
||||
- [Mastodon](mastodon.md)
|
||||
- [Mealie](mealie.md)
|
||||
- [Medusa](medusa.md)
|
||||
- [Mikrotik](mikrotik.md)
|
||||
- [Minecraft](minecraft.md)
|
||||
- [Miniflux](miniflux.md)
|
||||
- [MJpeg](mjpeg.md)
|
||||
- [Moonraker](moonraker.md)
|
||||
- [Mylar](mylar.md)
|
||||
- [MySpeed](myspeed.md)
|
||||
- [Navidrome](navidrome.md)
|
||||
- [NetAlertX](netalertx.md)
|
||||
- [Netdata](netdata.md)
|
||||
- [Nextcloud](nextcloud.md)
|
||||
- [NextDNS](nextdns.md)
|
||||
- [NGINX Proxy Manager](nginx-proxy-manager.md)
|
||||
- [NZBGet](nzbget.md)
|
||||
- [OctoPrint](octoprint.md)
|
||||
- [Omada](omada.md)
|
||||
- [Ombi](ombi.md)
|
||||
- [OpenDTU](opendtu.md)
|
||||
- [OpenMediaVault](openmediavault.md)
|
||||
- [OpenWRT](openwrt.md)
|
||||
- [OPNsense](opnsense.md)
|
||||
- [Overseerr](overseerr.md)
|
||||
- [PaperlessNGX](paperlessngx.md)
|
||||
- [Peanut](peanut.md)
|
||||
- [pfSense](pfsense.md)
|
||||
- [PhotoPrism](photoprism.md)
|
||||
- [Pi-hole](pihole.md)
|
||||
- [PlantIt](plantit.md)
|
||||
- [Plex & Tautulli](plex-tautulli.md)
|
||||
- [Plex](plex.md)
|
||||
- [Portainer](portainer.md)
|
||||
- [Prometheus](prometheus.md)
|
||||
- [Prowlarr](prowlarr.md)
|
||||
- [Proxmox](proxmox.md)
|
||||
- [Proxmox Backup Server](proxmoxbackupserver.md)
|
||||
- [Pterodactyl](pterodactyl.md)
|
||||
- [PyLoad](pyload.md)
|
||||
- [qBittorrent](qbittorrent.md)
|
||||
- [QNAP](qnap.md)
|
||||
- [Radarr](radarr.md)
|
||||
- [Readarr](readarr.md)
|
||||
- [ROMM](romm.md)
|
||||
- [ruTorrent](rutorrent.md)
|
||||
- [SABnzbd](sabnzbd.md)
|
||||
- [Scrutiny](scrutiny.md)
|
||||
- [Sonarr](sonarr.md)
|
||||
- [Speedtest Tracker](speedtest-tracker.md)
|
||||
- [Stash](stash.md)
|
||||
- [Stocks](stocks.md)
|
||||
- [SwagDashboard](swagdashboard.md)
|
||||
- [Syncthing Relay Server](syncthing-relay-server.md)
|
||||
- [Tailscale](tailscale.md)
|
||||
- [Tandoor](tandoor.md)
|
||||
- [TDarr](tdarr.md)
|
||||
- [Traefik](traefik.md)
|
||||
- [Transmission](transmission.md)
|
||||
- [TrueNAS](truenas.md)
|
||||
- [TubeArchivist](tubearchivist.md)
|
||||
- [UniFi Controller](unifi-controller.md)
|
||||
- [Unmanic](unmanic.md)
|
||||
- [Uptime Kuma](uptime-kuma.md)
|
||||
- [UptimeRobot](uptimerobot.md)
|
||||
- [UrBackup](urbackup.md)
|
||||
- [Watchtower](watchtower.md)
|
||||
- [WGEasy](wgeasy.md)
|
||||
- [WhatsUpDocker](whatsupdocker.md)
|
||||
- [xTeVe](xteve.md)
|
||||
|
||||
@@ -226,8 +226,6 @@ theme:
|
||||
|
||||
extra_css:
|
||||
- "stylesheets/extra.css"
|
||||
extra_javascript:
|
||||
- "scripts/extra.js"
|
||||
|
||||
extra:
|
||||
version:
|
||||
|
||||
@@ -48,8 +48,8 @@ export default async function handler(req, res) {
|
||||
logger.error(`no pods found with namespace=${namespace} and labelSelector=${labelSelector}`);
|
||||
return;
|
||||
}
|
||||
const someReady = pods.find((pod) => pod.status.phase === "Running");
|
||||
const allReady = pods.every((pod) => pod.status.phase === "Running");
|
||||
const someReady = pods.find((pod) => pod.status.phase in ["Completed", "Running"]);
|
||||
const allReady = pods.every((pod) => pod.status.phase in ["Completed", "Running"]);
|
||||
let status = "down";
|
||||
if (allReady) {
|
||||
status = "running";
|
||||
|
||||
Reference in New Issue
Block a user