Polski
Zacznij

← Wszystkie szablony · Kanały i zakładki

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.

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:

Więcej w kategorii Kanały i zakładki