glanceapp / glance

A self-hosted dashboard that puts all your feeds in one place
GNU Affero General Public License v3.0
8.56k stars 297 forks source link
aggregator customization dashboard docker feed-reader go golang homelab homepage monitoring reddit rss rss-reader self-hosted startpage youtube

What if you could see everything at a...

Glance

InstallConfigurationPreconfigured pagesThemesDiscord

example homepage

Features

Various widgets

Themeable

multiple color schemes example

Optimized for mobile devices

mobile device previews

Fast and lightweight

Configuration

Checkout the configuration docs to learn more. A preconfigured page is also available to get you started quickly.

Installation

[!CAUTION]

The project is under active development, expect things to break every once in a while.

Manual

Checkout the releases page for available binaries. You can place the binary inside /opt/glance/ and have it start with your server via a systemd service. To specify a different path for the config file use the --config option:

/opt/glance/glance --config /etc/glance.yml

Docker

[!IMPORTANT]

Make sure you have a valid glance.yml file in the same directory before running the container.

docker run -d -p 8080:8080 \
  -v ./glance.yml:/app/glance.yml \
  -v /etc/timezone:/etc/timezone:ro \
  -v /etc/localtime:/etc/localtime:ro \
  glanceapp/glance

Or if you prefer docker compose:

services:
  glance:
    image: glanceapp/glance
    volumes:
      - ./glance.yml:/app/glance.yml
      - /etc/timezone:/etc/timezone:ro
      - /etc/localtime:/etc/localtime:ro
    ports:
      - 8080:8080
    restart: unless-stopped

Building from source

Requirements: Go >= v1.22

To build:

go build -o build/glance .

To run:

go run .

Building Docker image

Build the image:

Make sure to replace "owner" with your name or organization.

docker build -t owner/glance:latest .

Push the image to your registry:

docker push owner/glance:latest