Skip to content

comunidadehubconnect/dockermetabase

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 

Repository files navigation

Seja bem-vindo ao Guia de Instalação Docker Metabase 🚀

👉 Participe da Comunidade HubConnect 👈



Caso não tenha Portainer e Traefix instalado, siga primeira etapa

Instalando Portainer e Traefix

Atualizando Dependências

Atualize os repositórios do Ubuntu executando o seguinte comando:

sudo apt update && apt upgrade -y

Instale o Docker em sua VPS

sudo apt install docker.io -y

Instalando Portainer

docker swarm init
nano traefik.yml
version: "3.8"

services:

  traefik:
    image: traefik:v2.11.0
    command:
      - "--api.dashboard=true"
      - "--providers.docker.swarmMode=true"
      - "--providers.docker.endpoint=unix:///var/run/docker.sock"
      - "--providers.docker.exposedbydefault=false"
      - "--providers.docker.network=ecosystem_network"
      - "--entrypoints.web.address=:80"
      - "--entrypoints.web.http.redirections.entryPoint.to=websecure"
      - "--entrypoints.web.http.redirections.entryPoint.scheme=https"
      - "--entrypoints.web.http.redirections.entrypoint.permanent=true"
      - "--entrypoints.websecure.address=:443"
      - "--certificatesresolvers.letsencryptresolver.acme.httpchallenge=true"
      - "--certificatesresolvers.letsencryptresolver.acme.httpchallenge.entrypoint=web"
      - "--certificatesresolvers.letsencryptresolver.acme.email=contato@seudominio.com.br"
      - "--certificatesresolvers.letsencryptresolver.acme.storage=/etc/traefik/letsencrypt/acme.json"
      - "--log.level=DEBUG"
      - "--log.format=common"
      - "--log.filePath=/var/log/traefik/traefik.log"
      - "--accesslog=true"
      - "--accesslog.filepath=/var/log/traefik/access-log"
    deploy:
      placement:
        constraints:
          - node.role == manager
      labels:
        - "traefik.enable=true"
        - "traefik.http.middlewares.redirect-https.redirectscheme.scheme=https"
        - "traefik.http.middlewares.redirect-https.redirectscheme.permanent=true"
        - "traefik.http.routers.http-catchall.rule=hostregexp(`{host:.+}`)"
        - "traefik.http.routers.http-catchall.entrypoints=web"
        - "traefik.http.routers.http-catchall.middlewares=redirect-https@docker"
        - "traefik.http.routers.http-catchall.priority=1"
    volumes:
      - "/var/run/docker.sock:/var/run/docker.sock:ro"
      - "traefik_certificates_volume:/etc/traefik/letsencrypt"
    ports:
      - target: 80
        published: 80
        mode: host
      - target: 443
        published: 443
        mode: host
    networks:
      - ecosystem_network

volumes:
  traefik_certificates_volume:
    external: true
    name: traefik_certificates_volume

networks:
  ecosystem_network:
    external: true
    name: ecosystem_network
nano portainer.yml
version: "3.8"

services:

  agent:
    image: portainer/agent:latest
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock
      - /var/lib/docker/volumes:/var/lib/docker/volumes
    networks:
      - ecosystem_network
    deploy:
      mode: global
      placement:
        constraints: [node.platform.os == linux]

  portainer:
    image: portainer/portainer-ce:latest
    command: -H tcp://tasks.agent:9001 --tlsskipverify
    volumes:
      - portainer_volume:/data
    networks:
      - ecosystem_network
    deploy:
      mode: replicated
      replicas: 1
      placement:
        constraints: [node.role == manager]
      labels:
        - "traefik.enable=true"
        - "traefik.docker.network=ecosystem_network"
        - "traefik.http.routers.portainer.rule=Host(`painel.seudominio.com.br`)"
        - "traefik.http.routers.portainer.entrypoints=websecure"
        - "traefik.http.routers.portainer.priority=1"
        - "traefik.http.routers.portainer.tls.certresolver=letsencryptresolver"
        - "traefik.http.routers.portainer.service=portainer"
        - "traefik.http.services.portainer.loadbalancer.server.port=9000"

networks:
  ecosystem_network:
    external: true
    attachable: true
    name: ecosystem_network

volumes:
  portainer_volume:
    external: true
    name: portainer_volume
docker network create --driver=overlay ecosystem_network
docker stack deploy --prune --resolve-image always -c traefik.yml traefik
docker stack deploy --prune --resolve-image always -c portainer.yml portainer

Acesse URL de seu Site e Crie Usuario

Postgres

Adicione Stack abaixo, Stack > add stack

image

version: "3.8"

services:

  postgresql:
    image: bitnami/postgresql:16
    restart: always
    environment:
      POSTGRESQL_USERNAME: postgres
      POSTGRESQL_PASSWORD: r45796yv3bhub9w4f3ga3ikxmxos648r
    networks:
      - ecosystem_network
    ports:
      - 5432:5432
    volumes:
      - postgresql_volume:/bitnami/postgresql
      - postgresql_config_volume:/opt/bitnami/postgresql/conf
    deploy:
    

volumes:
  postgresql_volume:
    external: true
    name: postgresql_volume
  postgresql_config_volume:
    external: true
    name: postgresql_config_volume
    
networks:
  ecosystem_network:
    external: true
    name: ecosystem_network

Depois clique em DEPLOY

image

Acesse portainer, vá até contaneir Postgres, crie banco de dados

image

image

psql -U postgres
create database metabase;

Adicione Stack abaixo, Stack > add stack

image

Lembre de Alterar os dados

version: '3.9'

services:
  metabase:
    image: metabase/metabase:latest
    restart: always
    networks:
      - ecosystem_network
    volumes:
      - metabase_data:/metabase-data
      - /dev/urandom:/dev/random:ro
    environment:
      MB_DB_TYPE: postgres
      MB_DB_DBNAME: metabase
      MB_DB_PORT: 5432
      MB_DB_USER: postgresuser
      MB_DB_PASS: postgrespass
      MB_DB_HOST: postgres
    deploy:
      labels:
        - traefik.enable=true
        - traefik.http.routers.metabase.rule=Host(`metabase.dominio.com.br`)
        - traefik.http.routers.metabase.entrypoints=websecure
        - traefik.http.routers.metabase.priority=1
        - traefik.http.routers.metabase.tls.certresolver=letsencryptresolver
        - traefik.http.routers.metabase.service=metabase
        - traefik.http.services.metabase.loadbalancer.server.port=3000
        - traefik.http.services.metabase.loadbalancer.passHostHeader=true 

networks:
  ecosystem_network:
    external: true
    attachable: true

volumes:
  metabase_data:

Depois clique em DEPLOY

image

Acesse: seudominio.com.

Pronto tudo Funcionando ✅😎

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published