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.
- Execute o
loginno repositório (utilize seu e-mail e senha cadastrados no site da Tecnisys):
docker login -u <seu email> repo.tecnisys.com.br
- Baixe a última versão (latest) das imagens Docker do PgSmart.
-
Imagem do PgSmart Client (CLI + Web)
Terminal inputdocker pull repo.tecnisys.com.br/pgsys/pgsmart-client:latest -
Imagem do PgSmart Agent
Terminal inputdocker 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:
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:
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
- É necessário ter o Docker Compose versão
2.30ou 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 arquivocompose.yml, ou passe-as como parâmetros no comandodocker-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:
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