Deploiement Scaleway
Ce guide deploie la monitoring box sur Scaleway avec Terraform, puis lance la stack Docker Compose sur la VM.
1. Preparer Terraform
Section titled “1. Preparer Terraform”Depuis la racine du repo:
cd terraformCopy-Item terraform.tfvars.example terraform.tfvarsEdite terraform.tfvars:
project = "mycompany"region = "fr-par"zone = "fr-par-1"instance_type = "PRO2-S"root_disk_gb = 100
ssh_public_key = "ssh-ed25519 AAAA..."admin_ssh_cidrs = ["x.x.x.x/32"]
dns_zone = ""
logs_retention_days = 90traces_retention_days = 30Pour un premier test, mettre ton IP publique dans admin_ssh_cidrs simplifie l’acces SSH. En production, prefere Tailscale et reduis l’exposition SSH.
2. Configurer les credentials Scaleway
Section titled “2. Configurer les credentials Scaleway”Dans le meme terminal:
$env:SCW_ACCESS_KEY="..."$env:SCW_SECRET_KEY="..."$env:SCW_DEFAULT_PROJECT_ID="..."3. Valider et appliquer
Section titled “3. Valider et appliquer”terraform initterraform fmt -checkterraform validateterraform planterraform applyTerraform affiche notamment:
- l’IP publique,
- la commande SSH,
- le bucket logs,
- le bucket traces.
4. Premiere connexion a la VM
Section titled “4. Premiere connexion a la VM”ssh deploy@<public-ip>Puis active Tailscale si tu l’utilises:
sudo tailscale up --ssh5. Installer la stack sur la VM
Section titled “5. Installer la stack sur la VM”Sur la VM:
git clone <url-du-repo> /opt/monitoring-stackcd /opt/monitoring-stackcp .env.example .envEdite .env:
GF_ADMIN_USER=adminGF_ADMIN_PASSWORD=<mot-de-passe-fort>GF_ROOT_URL=https://grafana.<domaine>
DOMAIN_GRAFANA=grafana.<domaine>DOMAIN_OTLP=otlp.<domaine>DOMAIN_DOCS=docs.<domaine>PUBLIC_DOCS_SITE=https://docs.<domaine>ACME_EMAIL=admin@<domaine>BASIC_AUTH_HASH=<hash-caddy>Genere le hash Caddy pour l’endpoint OTLP:
docker run --rm caddy:2.11.3-alpine caddy hash-password --plaintext '<mot-de-passe-agent>'Colle la sortie dans BASIC_AUTH_HASH.
6. Demarrer
Section titled “6. Demarrer”docker compose up -d --buildVérifie l’etat:
docker compose psdocker compose logs --tail=100 grafanadocker compose logs --tail=100 otel-collectordocker compose logs --tail=100 docs7. Acces
Section titled “7. Acces”Grafana:
https://grafana.<domaine>Documentation:
https://docs.<domaine>8. Activer les notifications d’images
Section titled “8. Activer les notifications d’images”Diun est optionnel:
docker compose --profile updates up -dConfigure un notifier dans diun/diun.yml avant de compter dessus en production.
9. Detruire la VM de test
Section titled “9. Detruire la VM de test”Depuis terraform/:
terraform destroyAttention: cette commande supprime l’infra geree par Terraform. Les donnees applicatives dans les volumes Docker de la VM disparaissent avec la VM.