Українська
Почати

← Усі шаблони · Стрічки й закладки

Задеплойте Glance в один клік

Швидкий і легкий дашборд із вашими стрічками, новинами, погодою, котируваннями та іншим

Альтернатива Netvibes і Feedly на вашій машині.

Що таке Glance?

Glance — self-hosted дашборд, який збирає на одній сторінці те, що ви щодня читаєте й перевіряєте: RSS-стрічки, сабреддити, Hacker News і Lobsters, канали YouTube і Twitch, погоду, біржові котирування, календар, нові релізи репозиторіїв GitHub і стан ваших сайтів. Його використовують як стартову сторінку браузера замість Netvibes чи читалки стрічок на кшталт Feedly, а ще на телефоні, де сторінка підлаштовується під екран.

Усе пишеться в одному YAML-файлі: скільки завгодно сторінок, кожна з колонок із віджетами, з темами, власним CSS і своїми віджетами, які читають будь-який JSON API. Glance — одна програма на Go розміром менше 20 MB, займає кілька десятків мегабайтів пам’яті й завантажує сторінку приблизно за секунду.

Цей шаблон запускає Glance з конфігурацією в томі, починаючи з прикладу сторінки, і зі входом за іменем користувача й паролем, які ви вказуєте, тож дашборд закритий для сторонніх. Пароль потрапляє в конфігурацію у вигляді bcrypt-хешу, а невдалі спроби входу рахуються за власною IP-адресою кожного відвідувача.

Хостинг Glance на Pethost

  1. Ви входите в Pethost — з ключем доступу, через GitHub або Google. Машини ще немає? Ви обираєте тариф, і посилання чекає, доки машина не буде готова.
  2. Вікно «Новий проєкт» відкривається на застосунку Glance. Ви заповнюєте те, що він просить, і натискаєте «Створити проєкт»: Ім’я користувача, Пароль адміністратора.
  3. За хвилину-дві Glance працює за власною адресою з HTTPS. Секрети створюються випадково, а дані потрапляють у щонічний бекап.
  4. Це проєкт як будь-який інший: ви або ваш агент можете його змінити, відкотити або відновити.

Питання про Glance

Glance безкоштовний?

Так. Glance має відкритий код за ліцензією AGPL-3.0, платної редакції в нього немає, і якщо запускати його самому, платити доведеться лише за машину.

Як додати в Glance віджет або сторінку?

Відредагуйте glance.yml: кожна сторінка має колонки, кожна колонка — список віджетів, а кожен віджет — тип, як-от rss, reddit, weather або videos, і свої параметри. Glance перезавантажує сторінку, щойно файл збережено, а якщо у файлі помилка, і далі показує останню робочу версію.

Чи може Glance показувати мої власні сервіси або API?

Так. Віджет monitor показує, чи відповідають ваші сайти, а віджет custom-api читає будь-який JSON API і відображає його за шаблоном, який ви пишете самі. Віджети від спільноти так додають підтримку багатьох сервісів.

Чи працює Glance на телефоні?

Так. Його сторінка розрахована й на малі екрани, і її можна додати на головний екран. Увійдіть один раз, і сесія триватиме 14 днів.

Скільки пам’яті й диска потрібно Glance?

Glance має дуже скромні вимоги: близько 20 MB пам’яті, а на диску він не зберігає нічого, крім свого конфігураційного файлу. На Pethost йому вистачить тарифу Starter, і поруч залишиться місце для інших застосунків.

Glance: файл Docker Compose

Шаблон — це цей compose.yaml і змінні, які записуються в .env проєкту під час його створення. Pethost запускає файл так, як його написано.

Контейнери: glance (glanceapp/glance:v0.8.7).

Томи, у щонічному бекапі: 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:

Ще в категорії «Стрічки й закладки»