Standalone-Arkindex-Coolify/docs/RUNBOOK.md
nak0x 18064be674 Repo complet : scripts, templates, docs et durcissement secrets
- Ajout scripts/ reproduisant chaque étape (secrets, render config, up CLI,
  init Garage, bootstrap prod, admin, vérif E2E, adoption Coolify, backup)
- Templates envsubst (config.yml, garage.toml, cantaloupe.properties) + .example
- deploy.conf (config non-secrète : domaine, versions, uuids Coolify)
- docs/ : ARCHITECTURE, TROUBLESHOOTING (11 problèmes/fixes), RUNBOOK, SECURITY
- Makefile (raccourcis)
- .gitignore + retrait du suivi de .env/.secrets.env/config.yml/garage.toml
  (fichiers conservés sur disque ; secrets restent dans l'historique -> voir SECURITY.md)

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-09 16:26:29 +02:00

2.6 KiB

Runbook — exploitation (day-2)

En mode Coolify, les conteneurs ont le suffixe -tdquwauzxsq0985fk9kjqqys (cf. deploy.conf CONTAINER_SUFFIX). Les helpers scripts/*.sh le gèrent automatiquement via cname.

Consulter / piloter

docker ps --filter name=ark-                       # état
docker logs -f ark-backend-<suffix>                # logs backend
docker logs -f ark-worker-<suffix>                 # logs worker (tâches)
# depuis Coolify : dashboard -> projet arkindex -> service arkindex (Deploy / Logs / Restart)

Redémarrer / redéployer

# CLI :
cd ~/arkindex-deploy && docker compose restart backend
# Coolify (API) :
curl -s -X POST -H "Authorization: Bearer $(cat ~/.ark_coolify_token)" \
  "http://localhost:8000/api/v1/deploy?uuid=tdquwauzxsq0985fk9kjqqys"

Mettre à jour Arkindex (nouvelle version d'image)

  1. Vérifier la dernière finale (cf. Troubleshooting P1).
  2. Changer les tags dans docker-compose.coolify.yml (backend/front) + deploy.conf.
  3. En Coolify : mettre à jour le compose du service (UI ou API) puis redéployer.
  4. Toujours relancer les migrations :
    docker exec ark-backend-<suffix> arkindex migrate
    

Shell Django / admin

docker exec -it ark-backend-<suffix> arkindex shell
docker exec -it ark-backend-<suffix> arkindex createsuperuser   # (interactif)
scripts/40-create-admin.sh                                       # (scripté, idempotent)

Recherche (Solr)

# (re)indexer un corpus après import de données
docker exec ark-backend-<suffix> arkindex reindex --corpus-id <UUID> --drop
# tout réindexer
docker exec ark-backend-<suffix> arkindex reindex --all

Stockage S3 (Garage)

G=ark-garage-<suffix>
docker exec $G /garage bucket list
docker exec $G /garage bucket info staging
docker exec $G /garage stats

Sauvegardes

scripts/99-backup-db.sh          # pg_dump + inventaire buckets -> backups/
# volumes gérés par Coolify : arkindex-deploy_* (anciens, backup) et <uuid>_* (actifs)
docker volume ls | grep -E 'arkindex-deploy_|tdquwauzxsq'

Nettoyage des anciens volumes CLI (après validation Coolify)

docker volume rm arkindex-deploy_pgdata arkindex-deploy_redisdata \
                 arkindex-deploy_solrdata arkindex-deploy_garagedata

Santé / vérification complète

ADMIN_PASS='…' scripts/50-verify.sh

Mémoire serrée ?

  • Soupape : désactiver la recherche → features.search: no dans config.yml, retirer le service ark-solr, redéployer. Solr est le plus gros consommateur (~450 Mo).
  • Le swap (4 Go) absorbe les pics ; surveiller free -h et docker stats.