Execução via Docker
As imagens Docker do PgSmart oferecem uma forma 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 o seu e-mail e palavra-passe registados no site da Tecnisys):
docker login -u <seu email> repo.tecnisys.com.br
- Descarregue 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 ficheiros, crie um diretório dedicado para o Docker Compose do PgSmart. Aceda ao 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_palavra_passe_de_acesso_tecnisys
Na sequência, crie o ficheiro 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 no seu sistema para garantir compatibilidade com todas as funcionalidades utilizadas. - Defina as variáveis de ambiente PGSYS_USERNAME e PGSYS_PASSWORD no ficheiro
.env, ou no ficheirocompose.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 imagens do PgSmart, definidas no ficheiro compose.yml, correspondem às imagens descarregadas no seu repositório Docker local.
No diretório do ficheiro 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, aceda ao 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:
- Utilizador: pgsmart
- Palavra-passe: pgsmart