Entrar ou criar conta

Laboratório em bancada

Laboratório: Instalação e Operação Básica do Apache Superset com PostgreSQL e Redis via Docker Compose

Você terá um ambiente completo de BI rodando Apache Superset, PostgreSQL e Redis em containers Docker, pronto para criar dashboards. Tempo estimado: 120 minutos.

Apache Superset do zero ao BI corporativo
Ligado ao treinamento Apache Superset do zero ao BI corporativo
Duração estimada
120 min
Passos
13
Validações
5
Objetivo

O objetivo é montar, do zero, um ambiente de BI corporativo local usando apenas software livre. Você vai instalar Apache Superset, PostgreSQL (como banco de dados de exemplo) e Redis (para cache e filas), todos orquestrados por Docker Compose. Ao final, será capaz de acessar o Superset, conectar ao PostgreSQL, criar um dataset, montar um gráfico e um dashboard simples.

Topologia

Três containers: Superset (frontend/backend), PostgreSQL (banco de dados de exemplo) e Redis (cache/filas). Superset conecta-se ao PostgreSQL para buscar dados e ao Redis para cache. Todos na mesma rede Docker bridge, acessíveis apenas localmente. Superset exposto na porta 8088 para acesso via navegador.

    +----------------+
    |   Navegador   |
    |  (localhost)  |
    +-------+--------+
            |
            | http://127.0.0.1:8088
    +-------v--------+
    |   Superset     |
    +---+-------+----+
        |       |
        |       |
+-------v-+ +---v------+
| Postgres| |  Redis   |
+---------+ +----------+

Equipamentos e software

ItemRequisito, licença ou versão
PC ou VM2 vCPU, 4GB RAM, 10GB disco, portas 8088, 5432, 6379 livres
Apache SupersetApache 2.0 · 3.0.0
PostgreSQLPostgreSQL License · 15
RedisBSD 3-Clause · 7
DockerApache 2.0 · a versão estável atual
Docker ComposeApache 2.0 · a versão estável atual

Roteiro

  1. Preparar o ambiente

    Garanta que Docker e Docker Compose estão instalados. Sem eles, não há isolamento, nem portabilidade. Consulte a documentação oficial do Docker para instruções de instalação.

    docker --version
    docker compose version

    O que você deve ver: Versões do Docker e Docker Compose exibidas no terminal.

  2. Criar diretório do laboratório

    Organize os arquivos em um diretório dedicado para evitar conflitos e facilitar o gerenciamento.

    mkdir superset-lab && cd superset-lab

    O que você deve ver: Diretório criado e acessado.

  3. Criar arquivo docker-compose.yml

    Defina os serviços (Superset, PostgreSQL, Redis) e suas dependências. Isso automatiza o provisionamento.

    nano docker-compose.yml

    O que você deve ver: Arquivo aberto para edição.

  4. Configurar docker-compose.yml

    Copie o conteúdo abaixo. Ele define as imagens, volumes, variáveis e portas necessárias.

    version: "3.7"
    services:
      postgres:
        image: postgres:15
        environment:
          POSTGRES_DB: superset
          POSTGRES_USER: superset
          POSTGRES_PASSWORD: superset
        ports:
          - "5432:5432"
        volumes:
          - pgdata:/var/lib/postgresql/data
      redis:
        image: redis:7
        ports:
          - "6379:6379"
      superset:
        image: apache/superset:3.0.0
        environment:
          SUPERSET_SECRET_KEY: "superset_lab_key"
          DATABASE_URL: postgresql+psycopg2://superset:superset@postgres:5432/superset
          REDIS_URL: redis://redis:6379/0
        ports:
          - "8088:8088"
        depends_on:
          - postgres
          - redis
        volumes:
          - superset_home:/app/superset_home
    volumes:
      pgdata:
      superset_home:

    O que você deve ver: Arquivo salvo com a configuração do ambiente.

  5. Subir os containers

    Inicie todos os serviços definidos. Isso cria um ambiente isolado rapidamente.

    docker compose up -d

    O que você deve ver: Containers iniciados em background. 'docker compose ps' mostra todos em execução.

  6. Inicializar o banco de dados do Superset

    Superset precisa de tabelas próprias. Execute a migração inicial.

    docker compose exec superset superset db upgrade

    O que você deve ver: Mensagens de migração bem-sucedida no terminal.

  7. Criar usuário administrador do Superset

    Sem um admin, não há acesso inicial. Crie o usuário para login.

    docker compose exec superset superset fab create-admin
    # Siga as instruções para definir usuário, email e senha.

    O que você deve ver: Usuário criado com sucesso.

  8. Inicializar dados de exemplo do Superset

    Carregue datasets e dashboards de exemplo para facilitar testes.

    docker compose exec superset superset load_examples

    O que você deve ver: Mensagens indicando carregamento de exemplos.

  9. Iniciar o servidor do Superset

    Garanta que o servidor web está rodando para acesso via navegador.

    docker compose exec superset superset run -p 8088 --with-threads --reload --debugger

    O que você deve ver: Mensagens de inicialização do servidor. Porta 8088 aberta.

  10. Acessar a interface web do Superset

    Abra o navegador em http://localhost:8088. Isso valida o acesso ao frontend.

    O que você deve ver: Tela de login do Superset exibida.

  11. Conectar ao banco de dados PostgreSQL de exemplo

    No Superset, adicione uma nova conexão de banco de dados apontando para o PostgreSQL. Isso permite explorar dados reais.

    No menu: Data > Databases > + Database
    String de conexão: postgresql+psycopg2://superset:superset@postgres:5432/superset

    O que você deve ver: Conexão criada e listada na interface.

  12. Criar um dataset e um gráfico simples

    Escolha uma tabela de exemplo, crie um dataset e um gráfico (chart) para validar a integração.

    No menu: Data > Datasets > + Dataset
    Escolha a conexão, selecione uma tabela de exemplo, salve. Em Charts, crie um gráfico usando o dataset.

    O que você deve ver: Gráfico exibido na tela.

  13. Montar um dashboard básico

    Adicione o gráfico criado a um novo dashboard. Isso fecha o ciclo de BI.

    No menu: Dashboards > + Dashboard
    Adicione o gráfico, salve.

    O que você deve ver: Dashboard com gráfico visível.

Como saber que funcionou

TesteComandoCritério
Verificar containers em execuçãodocker compose psTodos os serviços (superset, postgres, redis) com status 'Up'.
Acessar Superset via navegadorhttp://localhost:8088Tela de login do Superset aparece.
Testar conexão com PostgreSQLNo Superset: Data > Databases > Test ConnectionMensagem de sucesso na conexão.
Visualizar gráfico criadoGráfico renderizado corretamente na interface.
Visualizar dashboardDashboard exibe o gráfico sem erros.

Troubleshooting

SintomaCausa provávelCorreção
Erro de conexão ao PostgreSQLBanco não inicializado ou variáveis incorretasVerifique variáveis POSTGRES_USER, POSTGRES_PASSWORD e reinicie os containers.
Superset não abre na porta 8088Porta ocupada ou container não iniciouLibere a porta ou reinicie o serviço superset.
Erro ao criar usuário adminBanco do Superset não migradoExecute novamente 'superset db upgrade' antes de criar o usuário.
Gráficos não aparecem ou erro de cacheRedis não acessível pelo SupersetConfirme se o serviço Redis está rodando e variável REDIS_URL está correta.

Segurança e hardening

  • Altere a variável SUPERSET_SECRET_KEY antes de usar em produção.
  • Não exponha portas do PostgreSQL e Redis para fora do host sem firewall.
  • Use senhas fortes para os serviços, mesmo em ambiente de laboratório.
  • Remova dados de exemplo antes de liberar o ambiente para usuários reais.
  • Consulte a documentação do Superset para práticas de hardening adicionais.

Checklist final

Referências

  1. Documentação oficial do Apache Superset
  2. Documentação oficial do PostgreSQL
  3. Documentação oficial do Redis
  4. Documentação oficial do Docker Compose