initial commit
This commit is contained in:
@@ -0,0 +1,44 @@
|
||||
# Glance
|
||||
|
||||
Deploy Glance dashboard using Docker Compose.
|
||||
|
||||
## Description
|
||||
|
||||
Glance is a self-hosted dashboard that displays information from various sources in a simple, configurable interface.
|
||||
|
||||
## Variables
|
||||
|
||||
### Optional
|
||||
|
||||
| Variable | Default | Description |
|
||||
|----------|---------|-------------|
|
||||
| `glance_config_template` | `{{ app_templates_path }}/glance.yml.j2` | Template file for generating glance.yml config |
|
||||
| `glance_config_path` | `{{ app_dir }}/config` | Configuration storage |
|
||||
| `glance_http_port` | `8080` | Web interface port |
|
||||
| `glance_container_version` | `latest` | Glance Docker image tag |
|
||||
| `glance_restart_policy` | `{{ app_restart_policy }}` | Container restart policy |
|
||||
|
||||
|
||||
## Example
|
||||
|
||||
```yaml
|
||||
- role: patrickj.docker_apps.glance
|
||||
vars:
|
||||
glance_http_port: 3000
|
||||
glance_config_template: "/path/to/your/custom/glance.yml.j2"
|
||||
```
|
||||
|
||||
|
||||
## Configuration
|
||||
|
||||
The role includes a default configuration template with example widgets (RSS feeds, weather, calendar, markets, etc.). To customize your dashboard:
|
||||
|
||||
1. **Option 1**: Create your own template file and set `glance_config_template` to point to it
|
||||
2. **Option 2**: Manually edit `{app_dir}/glance.yml` after deployment
|
||||
|
||||
The default template includes widgets for:
|
||||
- Calendar and weather
|
||||
- RSS feeds (selfhosted, tech blogs)
|
||||
- Twitch channels and YouTube videos
|
||||
- Reddit subreddits and Hacker News
|
||||
- Stock market data and GitHub releases
|
||||
@@ -0,0 +1,16 @@
|
||||
---
|
||||
app_name: glance
|
||||
|
||||
# Container configuration
|
||||
glance_container_name: "{{ app_name | default('glance') }}"
|
||||
glance_container_version: latest
|
||||
glance_restart_policy: "{{ app_restart_policy }}"
|
||||
|
||||
# Network configuration
|
||||
glance_http_port: 8080
|
||||
|
||||
# Volume paths
|
||||
glance_config_path: "{{ app_dir }}/config"
|
||||
|
||||
# App-specific configuration
|
||||
glance_config_template: "{{ app_templates_path }}/glance.yml.j2"
|
||||
@@ -0,0 +1,17 @@
|
||||
---
|
||||
galaxy_info:
|
||||
author: Patrick Jaroszewski
|
||||
description: Deploy Glance with Docker Compose
|
||||
license: MIT
|
||||
|
||||
dependencies:
|
||||
- role: patrickj.docker_apps.docker_compose_app
|
||||
vars:
|
||||
app_role_name: glance
|
||||
app_subdirectories:
|
||||
- "{{ glance_config_path }}"
|
||||
app_backup_subdirectories:
|
||||
- "{{ glance_config_path }}"
|
||||
app_extra_templates:
|
||||
- src: "{{ glance_config_template }}"
|
||||
dest: "{{ glance_config_path }}/glance.yml"
|
||||
@@ -0,0 +1,10 @@
|
||||
---
|
||||
services:
|
||||
glance:
|
||||
container_name: {{ glance_container_name }}
|
||||
image: glanceapp/glance:{{ glance_container_version }}
|
||||
restart: {{ glance_restart_policy }}
|
||||
volumes:
|
||||
- {{ glance_config_path }}:/app/config
|
||||
ports:
|
||||
- "{{ glance_http_port }}:8080"
|
||||
@@ -0,0 +1,105 @@
|
||||
pages:
|
||||
- name: Home
|
||||
# Optionally, if you only have a single page you can hide the desktop navigation for a cleaner look
|
||||
# hide-desktop-navigation: true
|
||||
columns:
|
||||
- size: small
|
||||
widgets:
|
||||
- type: calendar
|
||||
first-day-of-week: monday
|
||||
|
||||
- type: rss
|
||||
limit: 10
|
||||
collapse-after: 3
|
||||
cache: 12h
|
||||
feeds:
|
||||
- url: https://selfh.st/rss/
|
||||
title: selfh.st
|
||||
limit: 4
|
||||
- url: https://ciechanow.ski/atom.xml
|
||||
- url: https://www.joshwcomeau.com/rss.xml
|
||||
title: Josh Comeau
|
||||
- url: https://samwho.dev/rss.xml
|
||||
- url: https://ishadeed.com/feed.xml
|
||||
title: Ahmad Shadeed
|
||||
|
||||
- type: twitch-channels
|
||||
channels:
|
||||
- theprimeagen
|
||||
- j_blow
|
||||
- giantwaffle
|
||||
- cohhcarnage
|
||||
- christitustech
|
||||
- EJ_SA
|
||||
|
||||
- size: full
|
||||
widgets:
|
||||
- type: group
|
||||
widgets:
|
||||
- type: hacker-news
|
||||
- type: lobsters
|
||||
|
||||
- type: videos
|
||||
channels:
|
||||
- UCXuqSBlHAE6Xw-yeJA0Tunw # Linus Tech Tips
|
||||
- UCR-DXc1voovS8nhAvccRZhg # Jeff Geerling
|
||||
- UCsBjURrPoezykLs9EqgamOA # Fireship
|
||||
- UCBJycsmduvYEL83R_U4JriQ # Marques Brownlee
|
||||
- UCHnyfMqiRRG1u-2MsSQLbXA # Veritasium
|
||||
|
||||
- type: group
|
||||
widgets:
|
||||
- type: reddit
|
||||
subreddit: technology
|
||||
show-thumbnails: true
|
||||
- type: reddit
|
||||
subreddit: selfhosted
|
||||
show-thumbnails: true
|
||||
|
||||
- size: small
|
||||
widgets:
|
||||
- type: weather
|
||||
location: London, United Kingdom
|
||||
units: metric # alternatively "imperial"
|
||||
hour-format: 12h # alternatively "24h"
|
||||
# Optionally hide the location from being displayed in the widget
|
||||
# hide-location: true
|
||||
|
||||
- type: markets
|
||||
markets:
|
||||
- symbol: SPY
|
||||
name: S&P 500
|
||||
- symbol: BTC-USD
|
||||
name: Bitcoin
|
||||
- symbol: NVDA
|
||||
name: NVIDIA
|
||||
- symbol: AAPL
|
||||
name: Apple
|
||||
- symbol: MSFT
|
||||
name: Microsoft
|
||||
|
||||
- type: releases
|
||||
cache: 1d
|
||||
# Without authentication the Github API allows for up to 60 requests per hour. You can create a
|
||||
# read-only token from your Github account settings and use it here to increase the limit.
|
||||
# token: ...
|
||||
repositories:
|
||||
- glanceapp/glance
|
||||
- go-gitea/gitea
|
||||
- immich-app/immich
|
||||
- syncthing/syncthing
|
||||
|
||||
# Add more pages here:
|
||||
# - name: Your page name
|
||||
# columns:
|
||||
# - size: small
|
||||
# widgets:
|
||||
# # Add widgets here
|
||||
|
||||
# - size: full
|
||||
# widgets:
|
||||
# # Add widgets here
|
||||
|
||||
# - size: small
|
||||
# widgets:
|
||||
# # Add widgets here
|
||||
Reference in New Issue
Block a user