Pular para o conteúdo principal

Execução via Docker

As imagens Docker do PgSmart oferecem uma maneira simples e rápida para iniciar um ambiente PostgreSYS, sem a necessidade de instalação de pacotes.

Carregar Imagens Docker

Neste guia de início rápido, utilizaremos o Docker Compose para iniciar um ambiente PostgreSYS.

  1. Execute o login no repositório (utilize seu e-mail e senha cadastrados no site da Tecnisys):
Terminal input
docker login -u <seu email> repo.tecnisys.com.br
  1. Baixe a última versão (latest) das imagens Docker do PgSmart.
  • Imagem do PgSmart Client (CLI + Web)

    Terminal input
    docker pull repo.tecnisys.com.br/pgsys/pgsmart-client:latest
  • Imagem do PgSmart Agent

    Terminal input
    docker pull repo.tecnisys.com.br/pgsmart-agent:latest

Criar Docker Compose

Através do Docker Compose é possível inicializar de forma integrada os containers do PgSmart e pré-configurar serviços do PostgreSYS.

Para organizar melhor os arquivos, crie um diretório dedicado para o Docker Compose do PgSmart. Acesse o diretório criado e utilize um editor de texto para criar o .env com as credenciais de acesso ao repositório do PostgreSYS:

.env
PGSYS_USERNAME=seu_email_de_acesso_tecnisys
PGSYS_PASSWORD=sua_senha_de_acesso_tecnisys

Na sequência, crie o arquivo compose.yml com o seguinte conteúdo:

compose.yml
networks:
local-net:
driver: bridge

services:

agent:
image: repo.tecnisys.com.br/pgsys/pgsmart-agent:latest
container_name: pgsmart-agent
privileged: true
cap_add:
- ALL
networks:
- local-net
volumes:
- /sys/fs/cgroup:/sys/fs/cgroup:rw
tmpfs:
- /run
- /tmp
stop_signal: SIGRTMIN+3
ports:
# Exposed ports for accessing components installed in the container (adjust to avoid host port conflicts)
- "4432:4432" # PgSmart Agent
- "5432:5432" # PostgreSQL Instance
- "6432:6432" # PgBouncer
- "8008:8008" # Patroni
- "2379:2379" # etcd
- "7001:7000" # HAProxy
- "9090:9090" # Prometheus
- "3000:3000" # Grafana
- "4433:4433" # PostgreSYS PostgreSQL
- "9093:9093" # Alertmanager
- "9095:9095" # Karma
post_start:
- command: /opt/create-pgsys-repo.sh ${PGSYS_USERNAME} ${PGSYS_PASSWORD}
user: root
- command: /opt/configure-postgresql-instance.sh 17 postgres /data /wal 5432 UTF8 C # PostgreSQL instance configuration
user: root

client:
image: repo.tecnisys.com.br/pgsys/pgsmart-client:latest
container_name: pgsmart-client
networks:
- local-net
ports:
- "4435:4435"
depends_on:
- agent
environment:
# OPTIONAL: By default, the PostgreSYS environment will be initialized with the credentials provided in the .env file.
- PGSYS_USERNAME=${PGSYS_USERNAME}
- PGSYS_PASSWORD=${PGSYS_PASSWORD}
post_start:
# Pre register agent
- command: /opt/register-agent.sh pgsmart-agent 9dbaff1aafb9e7ed609cf015
user: pgsmart
# IMPORTANT: If you only want an initial/clean environment (without pre-install services), REMOVE the commands below
# Pre-install Pool Service
- command: script -c "pgsmart install --quiet --agent pgsmart-agent --pgversion 17 --service pool" /dev/null
user: pgsmart
# Pre-install Backup Service
- command: script -c "pgsmart install --quiet --agent pgsmart-agent --pgversion 17 --service backup" /dev/null
user: pgsmart
# Pre-install HA Service
- command: script -c "pgsmart install --quiet --agent pgsmart-agent --pgversion 17 --service ha --ha-components dcs agent proxy" /dev/null
user: pgsmart
# Pre-install Observability Service
- command: script -c "pgsmart install --quiet --agent pgsmart-agent --pgversion 17 --service obs --obs-inet 127.0.0.1" /dev/null
user: pgsmart

Iniciar Ambiente PostgreSYS

Pré-Requisito
  • É necessário ter o Docker Compose versão 2.30 ou superior instalado em seu sistema para garantir compatibilidade com todas as funcionalidades utilizadas.
  • Defina as variáveis de ambiente PGSYS_USERNAME e PGSYS_PASSWORD no arquivo .env, ou no arquivo compose.yml, ou passe-as como parâmetros no comando docker-compose up -d.

Antes de executar o Docker Compose, verifique se os nomes e tags (por exemplo, latest) das imagems do PgSmart, definidas no arquivo compose.yml, correspondem às imagens baixadas em seu repositório Docker local.

No diretório do arquivo compose.yml, execute o comando abaixo para iniciar o seu ambiente do PostgreSYS:

Terminal input
docker-compose up -d

Pronto! Agora é só aguardar a inicialização dos containers do PgSmart.

Como próximo passo, acesse o PgSmart Web no seu navegador:

https://<ip ou hostname do host do container do PgSmart Client>:4435

Para fazer login no PgSmart Web, utilize as credenciais padrão:

  • Usuário: pgsmart
  • Senha: pgsmart