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=5432POSTGRES_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"
done4) 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
- Démarrer la stack :
docker compose up -d --build- Vérifier l’API :
curl -f http://127.0.0.1:${HOST_API_PORT:-18500}/api/health- Vérifier l’accès DB depuis le conteneur API (diagnostic) :
docker compose logs --tail=200 api6) 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).