---
title: "Glance: Docker Compose i hosting jednym kliknięciem"
description: "Hostuj Glance u siebie: lekki dashboard open source z kanałami RSS, Redditem, Hacker News, YouTube, pogodą i giełdą, za logowaniem, w jednym pliku YAML."
---

[← Wszystkie szablony](https://pethost.dev/pl/templates/) · [Kanały i zakładki](https://pethost.dev/pl/templates/reading/)

# Wdróż Glance jednym kliknięciem

Szybki, lekki dashboard z twoimi kanałami RSS, newsami, pogodą, notowaniami i nie tylko

Alternatywa dla Netvibes i Feedly, hostowana u siebie.

[Wdróż na Pethost](https://console.pethost.dev/?template=glance)

## Czym jest Glance?

Glance to dashboard hostowany u siebie, który zbiera na jednej stronie to, co codziennie czytasz i sprawdzasz: kanały RSS, subreddity, Hacker News i Lobsters, kanały YouTube i Twitch, pogodę, notowania giełdowe, kalendarz, nowe wydania repozytoriów na GitHubie i stan twoich stron. Ludzie używają go jako strony startowej w przeglądarce, zamiast Netvibes albo czytnika kanałów, takiego jak Feedly, i na telefonie, gdzie strona dopasowuje się do ekranu.

Wszystko zapisuje się w jednym pliku YAML: tyle stron, ile chcesz, każda w kolumnach widżetów, z motywami, własnym CSS i własnymi widżetami, które czytają dowolne API JSON. Glance to pojedynczy program w Go o rozmiarze poniżej 20 MB, zajmuje kilkadziesiąt megabajtów pamięci i ładuje stronę w mniej więcej sekundę.

Ten szablon uruchamia Glance z konfiguracją na wolumenie, zaczynając od przykładowej strony, i z logowaniem nazwą użytkownika i hasłem, które podajesz, więc dashboard jest zamknięty dla obcych. Hasło trafia do konfiguracji jako hash bcrypt, a nieudane logowania są liczone osobno dla adresu IP każdego odwiedzającego.

## Hosting Glance na Pethost

1. Logujesz się do Pethost kluczem dostępu, przez GitHub albo Google. Nie masz jeszcze maszyny? Wybierasz plan, a link czeka, aż będzie gotowa.
2. Okno „Nowy projekt” otwiera się na aplikacji Glance. Wypełniasz to, o co prosi, i klikasz „Utwórz projekt”: **Nazwa użytkownika**, **Hasło administratora**.
3. Za minutę czy dwie aplikacja Glance działa pod własnym adresem z HTTPS. Jej sekrety są tworzone losowo, a dane trafiają do nocnego backupu.
4. To projekt jak każdy inny: ty albo twój agent możecie go zmienić, cofnąć do wcześniejszej wersji albo przywrócić.

## Pytania o Glance

**Czy Glance jest darmowy?**

Tak. Glance to open source na licencji AGPL-3.0, bez płatnej edycji, a uruchomienie go u siebie kosztuje tylko maszynę.

**Jak dodać widżet albo stronę w Glance?**

Edytuj glance.yml: każda strona ma kolumny, a każda kolumna listę widżetów, każdy z typem, takim jak rss, reddit, weather albo videos, i swoimi opcjami. Glance przeładowuje stronę, gdy tylko plik zostanie zapisany, a jeśli w pliku jest błąd, dalej pokazuje ostatnią poprawną wersję.

**Czy Glance pokaże moje własne usługi albo API?**

Tak. Widżet monitor pokazuje, czy twoje strony odpowiadają, a widżet custom-api czyta dowolne API JSON i rysuje je według szablonu, który sam piszesz. Widżety społeczności dodają w ten sposób wiele usług.

**Czy Glance działa na telefonie?**

Tak. Jego strona jest zrobiona także z myślą o małych ekranach i możesz dodać ją do ekranu głównego. Zaloguj się raz, a sesja wytrzyma 14 dni.

**Ile pamięci i miejsca na dysku potrzebuje Glance?**

Glance ma bardzo małe wymagania: około 20 MB pamięci, a na dysku nie trzyma nic poza swoim plikiem konfiguracyjnym. Na Pethost wystarczy mu plan Starter, z miejscem na inne aplikacje obok.

## Glance: plik Docker Compose

Szablon to ten compose.yaml i zmienne zapisywane do .env projektu przy jego tworzeniu. Pethost uruchamia plik dokładnie tak, jak jest napisany.

**Kontenery:** glance (glanceapp/glance:v0.8.7).

**Wolumeny, w nocnym backupie:** config.

```
services:
  glance:
    image: glanceapp/glance:v0.8.7
    restart: unless-stopped
    environment:
      ADMIN_USERNAME: ${ADMIN_USERNAME}
      ADMIN_PASSWORD: ${ADMIN_PASSWORD}
    # The dashboard is /app/config/glance.yml, yours to edit: Glance reloads it when it is saved.
    # Its first start writes it from the one below and makes the key that signs sessions. Glance
    # puts ${VARIABLES} into the file as text before it reads it, so the password goes in as its
    # bcrypt hash, made at every start from the project's .env.
    entrypoint: ["/bin/sh", "-c"]
    command:
      - |
        set -e
        cd /app/config
        [ -f .secret-key ] || (umask 077 && /app/glance secret:make > .secret-key)
        [ -f glance.yml ] || cat /etc/glance/glance.yml > glance.yml
        GLANCE_SECRET_KEY="$$(cat .secret-key)"
        GLANCE_PASSWORD_HASH="$$(/app/glance password:hash "$$ADMIN_PASSWORD")" || {
          echo "$$GLANCE_PASSWORD_HASH" >&2
          exit 1
        }
        export GLANCE_SECRET_KEY GLANCE_PASSWORD_HASH
        unset ADMIN_PASSWORD
        exec /app/glance --config /app/config/glance.yml
    configs:
      - source: glance
        target: /etc/glance/glance.yml
    volumes:
      - config:/app/config

configs:
  glance:
    content: |
      server:
        # Requests come through the proxy: failed sign-ins are counted by the client's own address.
        proxied: true

      auth:
        secret-key: $${GLANCE_SECRET_KEY}
        users:
          "$${ADMIN_USERNAME}":
            password-hash: $${GLANCE_PASSWORD_HASH}

      pages:
        - name: Home
          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

            - 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
                  hour-format: 24h

                - 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
                  repositories:
                    - glanceapp/glance
                    - go-gitea/gitea
                    - immich-app/immich
                    - syncthing/syncthing

volumes:
  config:
```

[compose.yaml](https://pethost.dev/templates/glance/compose.yaml)[Zobacz na GitHubie](https://github.com/pethost-dev/templates/tree/main/glance)

## [Więcej w kategorii Kanały i zakładki](https://pethost.dev/pl/templates/reading/)

- [**FreshRSS**Czytnik kanałów RSS i Atom](https://pethost.dev/pl/templates/freshrss/)
- [**RSSHub**Kanały RSS dla stron, które ich nie mają](https://pethost.dev/pl/templates/rsshub/)
- [**linkding**Menedżer zakładek z tagami i wyszukiwaniem](https://pethost.dev/pl/templates/linkding/)
- [**Karakeep**Aplikacja do zakładek na linki, notatki i obrazy, z wyszukiwaniem pełnotekstowym](https://pethost.dev/pl/templates/karakeep/)
- [**RSS-Bridge**Kanały RSS i Atom dla stron, które ich nie mają](https://pethost.dev/pl/templates/rss-bridge/)
- [**ArchiveBox**Zapisuj strony, filmy i artykuły jako HTML, PDF, zrzuty ekranu i pliki multimedialne, własne archiwum sieci](https://pethost.dev/pl/templates/archivebox/)

Pethost · Stephan Gomer · NIP 1133096755

Pethost

- [Szablony](https://pethost.dev/pl/templates/)
- [O nas](https://pethost.dev/about/)
- [Dokumentacja](https://pethost.dev/docs/)
- [Blog](https://pethost.dev/pl/blog/)
- [API](https://pethost.dev/docs/api/)
- [CLI](https://pethost.dev/docs/cli/)
- [Plugin](https://github.com/pethost-dev/plugin)
- [Regulamin](https://pethost.dev/terms/)
- [Prywatność](https://pethost.dev/privacy/)
- [Zwroty](https://pethost.dev/refunds/)
- [support@pethost.dev](mailto:support@pethost.dev)

Bazy danych

- [Postgres](https://pethost.dev/pl/postgres/)

Porównania

- [Coolify vs Dokploy vs CapRover vs Dokku](https://pethost.dev/pl/blog/coolify-vs-dokploy-vs-caprover-vs-dokku/)
- [Coolify Cloud vs Dokploy Cloud](https://pethost.dev/pl/blog/coolify-cloud-vs-dokploy-cloud/)
- [Cennik Railway vs Render vs Fly.io](https://pethost.dev/pl/blog/railway-vs-render-vs-fly-io-pricing/)
- [Zarządzany hosting Docker Compose](https://pethost.dev/pl/blog/managed-docker-compose-hosting/)

Alternatywy

- [Alternatywy dla Railway](https://pethost.dev/pl/blog/railway-alternatives/)
- [Alternatywy dla Heroku](https://pethost.dev/pl/blog/heroku-alternatives/)
- [Alternatywy dla Dokploy](https://pethost.dev/pl/blog/dokploy-alternatives/)
- [Alternatywy dla Coolify](https://pethost.dev/pl/blog/coolify-alternatives/)
- [Alternatywy dla Render](https://pethost.dev/pl/blog/render-alternatives/)
- [Alternatywy dla Sliplane](https://pethost.dev/pl/blog/sliplane-alternatives/)
