Appearance
Execucao
Variaveis
ini
VEEAM_BASE_URL=https://<ip-ou-dns-do-veeam-one>:1239
VEEAM_USERNAME=domain\\user
VEEAM_PASSWORD=change-me
VEEAM_API_VERSION=v2.2
VEEAM_TOKEN_RENEW_SKEW_SECONDS=60
VEEAM_REQUEST_TIMEOUT_SECONDS=30
VEEAM_TLS_REJECT_UNAUTHORIZED=false
VEEAM_PAGE_SIZE=100
VEEAM_CONTINUE_ON_ENDPOINT_ERROR=true
APP_HOST=0.0.0.0
APP_PORT=9469Os nomes antigos VEEAM_ONE_* continuam aceitos para facilitar migracao.
Local
bash
npm install
cp .env.example .env
# Ajuste VEEAM_BASE_URL ou VEEAM_ONE_BASE_URL para o IP/DNS real do Veeam ONE.
npm run check
npm test
npm run build
npm startDocker Local
bash
cp .env.example .env
# Ajuste VEEAM_BASE_URL ou VEEAM_ONE_BASE_URL para o IP/DNS real do Veeam ONE.
cp docker/.env.example docker/.env
docker compose --env-file docker/.env -f docker/docker-compose.yml up -d --buildAcessos locais:
- API:
http://localhost:9469 - Prometheus:
http://localhost:19090 - Grafana:
http://localhost:13000 - VitePress:
http://localhost:4173
No estado atual do docker/docker-compose.yml, os containers ativos da stack sao veeam-one-api, veeam-one-prometheus, veeam-one-grafana e veeam-one-vitepress.
A API sobe no Compose usando network_mode: host, escutando diretamente na porta API_HOST_PORT, hoje 9469. Isso faz o container herdar a mesma conectividade do host Linux ate o Veeam ONE. O Prometheus raspa a API pela URL host.docker.internal:9469, o Grafana acessa http://prometheus:9090 dentro da rede do Compose, o VitePress publica a documentacao em 4173 e a API acessa o Veeam ONE pelo VEEAM_BASE_URL ou VEEAM_ONE_BASE_URL configurado no .env raiz.
Para a visao completa da implementacao Docker, incluindo rede, volumes, bind mounts, provisioning e dashboard principal, veja Docker.
Os arquivos Docker ficam isolados em docker/:
docker/Dockerfiledocker/docker-compose.ymldocker/.env.exampledocker/Dockerfile.vitepressdocker/prometheus/prometheus.ymldocker/grafana/provisioning/datasources/prometheus.ymldocker/grafana/provisioning/dashboards/dashboards.ymldocker/grafana/dashboards/Panorama Geral dos Jobs de Backup.jsondocker/grafana/dashboards/veeam-one-repositories-panorama-executivo-consolidado.jsondocker/grafana/SRE/
Depois de subir a API, valide os novos endpoints da Entrega 2:
bash
curl http://localhost:9469/api/veeam-one/repositories
curl http://localhost:9469/api/veeam-one/scaleout-repositories
curl http://localhost:9469/metricsDocker Remoto
Para publicar a mesma stack Docker no host remoto:
bash
bash deploy/deploy_docker.shDefaults atuais do script:
REMOTE_USER=suporteREMOTE_HOST=10.166.64.12REMOTE_DIR=/var/www/appv2
Acessos remotos padrao:
- API:
http://10.166.64.12:9469 - Prometheus:
http://10.166.64.12:19090 - Grafana:
http://10.166.64.12:13000 - VitePress:
http://10.166.64.12:4173
Para destruir a stack remota:
bash
bash deploy/destroy_docker.shDocumentacao
bash
npm run docs:dev
npm run docs:build
npm run docs:preview