Feat/glanceapp (#3501)
* feat: glance app * refactor(glance): make sure data directory exists * refactor(glance): create an empty config file so docker doesnt make a directory * refactor(glance): add a preconfigured page * refactor(glance): add the tipi main network to the compose file
This commit is contained in:
parent
5c1b52a5e2
commit
a7006ca29e
18
apps/glance/config.json
Normal file
18
apps/glance/config.json
Normal file
|
@ -0,0 +1,18 @@
|
|||
{
|
||||
"$schema": "../schema.json",
|
||||
"name": "Glance",
|
||||
"port": 8568,
|
||||
"available": true,
|
||||
"exposable": true,
|
||||
"id": "glance",
|
||||
"tipi_version": 1,
|
||||
"version": "v0.4.0",
|
||||
"categories": ["utilities"],
|
||||
"description": "A self-hosted dashboard that puts all your feeds in one place",
|
||||
"short_desc": "Super configurable dashboard",
|
||||
"author": "glanceapp",
|
||||
"source": "https://github.com/glanceapp/glance",
|
||||
"form_fields": [],
|
||||
"supported_architectures": ["arm64", "amd64"],
|
||||
"dynamic_config": true
|
||||
}
|
65
apps/glance/data/glance.yml
Normal file
65
apps/glance/data/glance.yml
Normal file
|
@ -0,0 +1,65 @@
|
|||
pages:
|
||||
- name: Home
|
||||
columns:
|
||||
- size: small
|
||||
widgets:
|
||||
- type: calendar
|
||||
|
||||
- type: rss
|
||||
limit: 10
|
||||
collapse-after: 3
|
||||
cache: 3h
|
||||
feeds:
|
||||
- url: https://ciechanow.ski/atom.xml
|
||||
- url: https://www.joshwcomeau.com/rss.xml
|
||||
title: Josh Comeau
|
||||
- url: https://samwho.dev/rss.xml
|
||||
- url: https://awesomekling.github.io/feed.xml
|
||||
- url: https://ishadeed.com/feed.xml
|
||||
title: Ahmad Shadeed
|
||||
|
||||
- type: twitch-channels
|
||||
channels:
|
||||
- theprimeagen
|
||||
- cohhcarnage
|
||||
- christitustech
|
||||
- blurbs
|
||||
- asmongold
|
||||
- jembawls
|
||||
|
||||
- size: full
|
||||
widgets:
|
||||
- type: hacker-news
|
||||
|
||||
- type: videos
|
||||
channels:
|
||||
- UCR-DXc1voovS8nhAvccRZhg # Jeff Geerling
|
||||
- UCv6J_jJa8GJqFwQNgNrMuww # ServeTheHome
|
||||
- UCOk-gHyjcWZNj3Br4oxwh0A # Techno Tim
|
||||
|
||||
- type: reddit
|
||||
subreddit: selfhosted
|
||||
|
||||
- size: small
|
||||
widgets:
|
||||
- type: weather
|
||||
location: London, United Kingdom
|
||||
|
||||
- type: stocks
|
||||
stocks:
|
||||
- symbol: SPY
|
||||
name: S&P 500
|
||||
- symbol: BTC-USD
|
||||
name: Bitcoin
|
||||
- symbol: NVDA
|
||||
name: NVIDIA
|
||||
- symbol: AAPL
|
||||
name: Apple
|
||||
- symbol: MSFT
|
||||
name: Microsoft
|
||||
- symbol: GOOGL
|
||||
name: Google
|
||||
- symbol: AMD
|
||||
name: AMD
|
||||
- symbol: RDDT
|
||||
name: Reddit
|
13
apps/glance/docker-compose.json
Normal file
13
apps/glance/docker-compose.json
Normal file
|
@ -0,0 +1,13 @@
|
|||
{
|
||||
"openPort": true,
|
||||
"image": "glanceapp/glance:v0.4.0",
|
||||
"name": "glance",
|
||||
"internalPort": "8080",
|
||||
"isMain": true,
|
||||
"volumes": [
|
||||
{
|
||||
"hostPath": "${APP_DATA_DIR}/data/glance.yml",
|
||||
"containerPath": "/app/glance.yml"
|
||||
}
|
||||
]
|
||||
}
|
39
apps/glance/docker-compose.yml
Normal file
39
apps/glance/docker-compose.yml
Normal file
|
@ -0,0 +1,39 @@
|
|||
version: "3.9"
|
||||
services:
|
||||
glance:
|
||||
image: glanceapp/glance:v0.4.0
|
||||
restart: unless-stopped
|
||||
container_name: glance
|
||||
ports:
|
||||
- ${APP_PORT}:8080
|
||||
volumes:
|
||||
- ${APP_DATA_DIR}/data/glance.yml:/app/glance.yml
|
||||
- /etc/timezone:/etc/timezone:ro
|
||||
- /etc/localtime:/etc/localtime:ro
|
||||
networks:
|
||||
- tipi_main_network
|
||||
labels:
|
||||
# Main
|
||||
traefik.enable: true
|
||||
traefik.http.middlewares.glance-web-redirect.redirectscheme.scheme: https
|
||||
traefik.http.services.glance.loadbalancer.server.port: 8080
|
||||
# Web
|
||||
traefik.http.routers.glance-insecure.rule: Host(`${APP_DOMAIN}`)
|
||||
traefik.http.routers.glance-insecure.entrypoints: web
|
||||
traefik.http.routers.glance-insecure.service: glance
|
||||
traefik.http.routers.glance-insecure.middlewares: glance-web-redirect
|
||||
# Websecure
|
||||
traefik.http.routers.glance.rule: Host(`${APP_DOMAIN}`)
|
||||
traefik.http.routers.glance.entrypoints: websecure
|
||||
traefik.http.routers.glance.service: glance
|
||||
traefik.http.routers.glance.tls.certresolver: myresolver
|
||||
# Local domain
|
||||
traefik.http.routers.glance-local-insecure.rule: Host(`glance.${LOCAL_DOMAIN}`)
|
||||
traefik.http.routers.glance-local-insecure.entrypoints: web
|
||||
traefik.http.routers.glance-local-insecure.service: glance
|
||||
traefik.http.routers.glance-local-insecure.middlewares: glance-web-redirect
|
||||
# Local domain secure
|
||||
traefik.http.routers.glance-local.rule: Host(`glance.${LOCAL_DOMAIN}`)
|
||||
traefik.http.routers.glance-local.entrypoints: websecure
|
||||
traefik.http.routers.glance-local.service: glance
|
||||
traefik.http.routers.glance-local.tls: true
|
40
apps/glance/metadata/description.md
Normal file
40
apps/glance/metadata/description.md
Normal file
|
@ -0,0 +1,40 @@
|
|||
<p align="center"><em>What if you could see everything at a...</em></p>
|
||||
<h1 align="center">Glance</h1>
|
||||
|
||||
![example homepage](https://raw.githubusercontent.com/glanceapp/glance/main/docs/images/readme-main-image.png)
|
||||
|
||||
### Features
|
||||
|
||||
#### Various widgets
|
||||
|
||||
- RSS feeds
|
||||
- Subreddit posts
|
||||
- Weather
|
||||
- Bookmarks
|
||||
- Latest YouTube videos from specific channels
|
||||
- Calendar
|
||||
- Stocks
|
||||
- iframe
|
||||
- Twitch channels & top games
|
||||
- GitHub releases
|
||||
- Repository overview
|
||||
- Site monitor
|
||||
|
||||
#### Themeable
|
||||
|
||||
![multiple color schemes example](https://raw.githubusercontent.com/glanceapp/glance/main/docs/images/themes-example.png)
|
||||
|
||||
#### Optimized for mobile devices
|
||||
|
||||
![mobile device previews](https://raw.githubusercontent.com/glanceapp/glance/main/docs/images/mobile-preview.png)
|
||||
|
||||
#### Fast and lightweight
|
||||
|
||||
- Minimal JS, no bloated frameworks
|
||||
- Very few dependencies
|
||||
- Single, easily distributed <15mb binary and just as small docker container
|
||||
- All requests are parallelized, uncached pages usually load within ~1s (depending on internet speed and number of widgets)
|
||||
|
||||
### Configuration
|
||||
|
||||
Checkout the [configuration docs](docs/configuration.md) to learn more. A [preconfigured page](docs/configuration.md#preconfigured-page) is also available to get you started quickly.
|
BIN
apps/glance/metadata/logo.jpg
Normal file
BIN
apps/glance/metadata/logo.jpg
Normal file
Binary file not shown.
After Width: | Height: | Size: 7.7 KiB |
Loading…
Reference in New Issue
Block a user