Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/glanceapp/glance

A self-hosted dashboard that puts all your feeds in one place
https://github.com/glanceapp/glance

aggregator dashboard docker feed-reader golang homepage rss self-hosted startpage

Last synced: about 1 month ago
JSON representation

A self-hosted dashboard that puts all your feeds in one place

Awesome Lists containing this project

README

        

What if you could see everything at a...


Glance


InstallConfigurationPreconfigured pagesThemesDiscord

![example homepage](docs/images/readme-main-image.png)

### Features
#### Various widgets
* RSS feeds
* Subreddit posts
* Weather
* Bookmarks
* Hacker News
* Lobsters
* Latest YouTube videos from specific channels
* Clock
* Calendar
* Stocks
* iframe
* Twitch channels & top games
* GitHub releases
* Repository overview
* Site monitor
* Search box

#### Themeable
![multiple color schemes example](docs/images/themes-example.png)

#### Optimized for mobile devices
![mobile device previews](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.

### Installation
> [!CAUTION]
>
> The project is under active development, expect things to break every once in a while.

#### Manual
Checkout the [releases page](https://github.com/glanceapp/glance/releases) for available binaries. You can place the binary inside `/opt/glance/` and have it start with your server via a [systemd service](https://linuxhandbook.com/create-systemd-services/). To specify a different path for the config file use the `--config` option:

```bash
/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.

```bash
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:

```yaml
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](https://go.dev/dl/) >= v1.22

To build:

```bash
go build -o build/glance .
```

To run:

```bash
go run .
```

### Building Docker image

Build the image:

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

```bash
docker build -t owner/glance:latest .
```

Push the image to your registry:

```bash
docker push owner/glance:latest
```