glance
Highly customizable dashboard
Example
{config, ...}: {
nps.stacks.glance = {
enable = true;
settings.pages.home = {
columns.start = {
rank = 500;
size = "small";
widgets = [
{
type = "server-stats";
servers = [
{
type = "local";
name = "Server";
}
];
}
{
type = "reddit";
subreddit = "selfhosted";
collapse-after = 3;
}
];
};
};
};
}Stack Options
nps.stacks.glance.enable
Whether to enable glance.
nps.stacks.glance.settings
Settings that will be provided as the glance.yml configuration file.
See https://github.com/glanceapp/glance/blob/main/docs/configuration.md#configuring-glance
nps.stacks.glance.settings.pages
This option has no description.
nps.stacks.glance.settings.pages.<name>.columns
The columns to display on the page
nps.stacks.glance.settings.pages.<name>.columns.<name>.rank
The order of the column on the page.
nps.stacks.glance.settings.pages.<name>.columns.<name>.size
The size of the column.
nps.stacks.glance.settings.pages.<name>.name
The name of the page. Default to the attribute name.
nps.stacks.glance.useSocketProxy
Whether to access the Podman socket through the read-only proxy for the glance stack. Will be enabled by default if the 'socket-proxy' stack is enabled.
boolean
config.nps.stacks.socket-proxy.enable
nps.stacks.glance.userCss
Custom CSS settings.
See https://github.com/glanceapp/glance/blob/main/docs/configuration.md#custom-css-file
Container Extension
Glance adds the glance container options to the existing services.podman.containers.<name> options. Setting the category automatically adds the container to a docker-containers widget on the dashboard.
Metadata that is shared between the dashboards is configured via the dashboard container option, category, name, url as well as the description, icon, id and parent settings are derived from it. Glance specific settings can be added via the freeform glance attributes, see https://github.com/glanceapp/glance/blob/main/docs/configuration.md#docker-containers.
To hide a service from the dashboard, set the dashboard.category option to null, or glance.category to only hide it on Glance.
Example:
{config, ...}: {
nps.stacks.glance.enable = true;
# Shared between the dashboards
nps.stacks.streaming.containers.jellyfin.dashboard = {
category = "Media";
name = "Jellyfin";
description = "Media Server";
icon = "di:jellyfin";
};
# Glance only
nps.stacks.streaming.containers.jellyfin.glance.icon = "si:jellyfin";
}Icons are written in the Glance syntax, see the dashboard.icon option for the available prefixes.
services.podman.containers.<name>.dashboard
Metadata shared between the dashboards. Settings that only apply to a single dashboard go into its own container option.
services.podman.containers.<name>.dashboard.category
Category of the service, null hides it.
services.podman.containers.<name>.dashboard.description
Short description of the service.
services.podman.containers.<name>.dashboard.icon
Icon in Glance syntax, translated for Homepage.
di:name becomes name, sh:name becomes sh-name, a bare name
is resolved via dashboard-icons.
null or string
null
"di:jellyfin"
services.podman.containers.<name>.dashboard.id
Identifier of the service, referenced by the parent of its child containers.
Defaults to the container name.
services.podman.containers.<name>.dashboard.name
Name of the service on the dashboards.
string
lib.toSentenceCase "<container name>"
services.podman.containers.<name>.dashboard.parent
Identifier of the service this container belongs to.
Groups it below the parent on the dashboard and keeps it off Homepage,
set homepage.category to show it there anyway.
services.podman.containers.<name>.dashboard.url
URL the service links to, defaults to the Traefik serviceUrl.
null or string
config.traefik.serviceUrl
services.podman.containers.<name>.glance
Settings for the service.
See https://github.com/glanceapp/glance/blob/main/docs/configuration.md#docker-containers
open submodule of (YAML 1.1 value)
{ }
services.podman.containers.<name>.glance.category
Category of the service, null hides it on Glance.
services.podman.containers.<name>.glance.name
The name of the service as it will displayed on the dashboard.
services.podman.containers.<name>.glance.url
The URL of the service.
Container Aliases
nps.stacks.glance.containers.glance
Alias of {option}services.podman.containers.glance.
