Aurora Nexus
Aurora NexusInstallation

Postgres externe (installation / bootstrap)

bootstrap/migrations quand Postgres est externe

Ce guide décrit la procédure quand Postgres n’est pas le conteneur postgres du docker-compose.yml (ex : instance existante sur un autre serveur).

Objectif : créer la base, appliquer le schéma et les migrations, puis vérifier que l’API est opérationnelle.

1) Pré-requis

  • Accès réseau depuis le serveur Nexus vers l’instance Postgres (host/port).
  • Un utilisateur Postgres avec droits de création/DDL sur la base cible.
  • Le fichier .env (ou env hors repo) doit pointer vers la DB externe :
    • POSTGRES_HOST=<host_externe>
    • POSTGRES_PORT=5432
    • POSTGRES_USER=...
    • POSTGRES_PASSWORD=...
    • POSTGRES_DB=auroranexus (par défaut)
    • DATABASE_URL=postgresql://.../...

2) Créer la base et l’utilisateur (exemple SQL)

Remplace les placeholders (<...>) par tes valeurs.

-- En tant que superuser (ou rôle ayant les droits)
CREATE USER aurora WITH PASSWORD '<password>';
CREATE DATABASE auroranexus OWNER aurora;
GRANT ALL PRIVILEGES ON DATABASE auroranexus TO aurora;

3) Appliquer le schéma + migrations

Le socle est composé de :

  • aurora_schema.sql (état complet du schéma),
  • migrations/NN_*.sql (migrations additives).

Commande indicative (exécuter depuis une machine ayant psql et accès réseau au Postgres externe) :

export PGPASSWORD='<password>'
psql -h <host_externe> -p 5432 -U aurora -d auroranexus -v ON_ERROR_STOP=1 -f aurora_schema.sql
for f in migrations/[0-9][0-9]_*.sql; do
  psql -h <host_externe> -p 5432 -U aurora -d auroranexus -v ON_ERROR_STOP=1 -f "$f"
done

4) Seeds minimaux attendus

Aurora Nexus attend un tenant par défaut (mode mono‑tenant). Si nécessaire :

INSERT INTO tenants (slug, name)
VALUES ('default', 'Default Tenant')
ON CONFLICT (slug) DO NOTHING;

5) Vérifications post‑installation

  1. Démarrer la stack :
docker compose up -d --build
  1. Vérifier l’API :
curl -f http://127.0.0.1:${HOST_API_PORT:-18500}/api/health
  1. Vérifier l’accès DB depuis le conteneur API (diagnostic) :
docker compose logs --tail=200 api

6) Notes importantes

  • Le wizard ne bootstrappe pas automatiquement une DB externe (mode “hands‑off” volontaire).
  • En production, préfère un fichier env hors repo et des droits stricts (chmod 600).

On this page