Português
Começar

← Todos os templates · Feeds e favoritos

Faça deploy de Glance em um clique

Um dashboard rápido e leve com seus feeds, notícias, clima, mercados e mais

Uma alternativa auto-hospedada para Netvibes e Feedly.

O que é Glance?

O Glance é um dashboard auto-hospedado que reúne numa página o que você lê e confere todo dia: feeds RSS, subreddits, Hacker News e Lobsters, canais do YouTube e da Twitch, clima, cotações do mercado, um calendário, novos releases de repositórios do GitHub e o status dos seus sites. As pessoas o usam como página inicial do navegador, no lugar do Netvibes ou de um leitor de feeds como o Feedly, e no celular, onde a página se ajusta à tela.

Tudo fica escrito num único arquivo YAML: quantas páginas você quiser, cada uma em colunas de widgets, com temas, CSS próprio e widgets seus que leem qualquer API JSON. O Glance é um único programa em Go de menos de 20 MB, usa algumas dezenas de megabytes de memória e carrega uma página em cerca de um segundo.

Este template roda o Glance com a configuração num volume, começando por uma página de exemplo, e com login pelo usuário e pela senha que você informa, então o dashboard fica fechado para estranhos. A senha vai para a configuração como hash bcrypt, e as tentativas de login que falham são contadas pelo endereço IP de cada visitante.

Hospedagem de Glance no Pethost

  1. Você entra no Pethost com uma passkey, GitHub ou Google. Ainda não tem máquina? Você escolhe um plano, e o link espera até ela ficar pronta.
  2. Novo projeto abre em Glance. Você preenche o que ele pede e clica em Criar projeto: Usuário, Senha do administrador.
  3. Em um ou dois minutos Glance está no ar no próprio endereço com HTTPS. Os segredos são gerados ao acaso, e os dados vão para o backup noturno.
  4. É um projeto como qualquer outro: você ou seu agente podem alterá-lo, fazer rollback ou restaurá-lo.

Perguntas sobre Glance

O Glance é gratuito?

Sim. O Glance é de código aberto sob a licença AGPL-3.0, sem edição paga, e rodá-lo você mesmo custa só a máquina.

Como adiciono um widget ou uma página ao Glance?

Edite o glance.yml: cada página tem colunas, e cada coluna uma lista de widgets, cada um com um tipo, como rss, reddit, weather ou videos, e suas opções. O Glance recarrega a página assim que o arquivo é salvo, e se o arquivo tiver um erro, continua mostrando a última versão que funcionava.

O Glance consegue mostrar meus próprios serviços ou APIs?

Sim. O widget monitor mostra se seus sites respondem, e o widget custom-api lê qualquer API JSON e a desenha com um template que você escreve. Widgets da comunidade adicionam muitos serviços desse jeito.

O Glance funciona no celular?

Sim. A página dele também é feita para telas pequenas, e você pode adicioná-la à tela inicial. Entre uma vez e a sessão dura 14 dias.

De quanta memória e disco Glance precisa?

Glance é muito leve: cerca de 20 MB de memória, e não guarda nada em disco além do arquivo de configuração. No Pethost, o plano Starter basta, com espaço para outros apps ao lado.

Arquivo Docker Compose de Glance

O template é este compose.yaml e as variáveis gravadas no .env do projeto quando ele é criado. O Pethost roda o arquivo exatamente como está escrito.

Containers: glance (glanceapp/glance:v0.8.7).

Volumes, no backup noturno: 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:

Mais em Feeds e favoritos