Files
Sankofa/api/DATABASE_SETUP.md
defiQUG 8436e22f4c API: Phoenix railing proxy, API key auth for /api/v1/*, schema export, docs, migrations, tests
- Phoenix API Railing: proxy to PHOENIX_RAILING_URL, tenant me routes
- Tenant-auth: X-API-Key support for /api/v1/* (api_keys table)
- Migration 026: api_keys table; 025 sovereign stack marketplace
- GET /graphql/schema, GET /graphql-playground, api/docs OpenAPI
- Integration tests: phoenix-railing.test.ts
- docs/api/API_VERSIONING: /api/v1/ railing alignment
- docs/phoenix/PORTAL_RAILING_WIRING

Made-with: Cursor
2026-03-11 12:57:41 -07:00

2.8 KiB

Database Setup Guide

Current Issue

The setup is failing with database authentication error (28P01). This means:

  • The database password in .env doesn't match your PostgreSQL password, OR
  • PostgreSQL is not running, OR
  • The database sankofa doesn't exist

Quick Fix

cd /home/intlc/projects/Sankofa/api
./scripts/setup-with-password.sh

This script will:

  1. Prompt you for your actual PostgreSQL password
  2. Update .env automatically
  3. Run all setup steps

Option 2: Manual Setup

Step 1: Find Your PostgreSQL Password

If you don't know your PostgreSQL password, you can:

Option A: Reset postgres user password

sudo -u postgres psql
ALTER USER postgres PASSWORD 'your_new_password';
\q

Option B: Check if you have a password in your system

# Check common locations
cat ~/.pgpass 2>/dev/null
# or check if you have it saved elsewhere

Step 2: Update .env

Edit .env and set the correct password:

cd /home/intlc/projects/Sankofa/api
nano .env  # or use your preferred editor

Set:

DB_PASSWORD=your_actual_postgres_password
NODE_ENV=development

Step 3: Create Database (if needed)

# Connect to PostgreSQL
sudo -u postgres psql

# Create database
CREATE DATABASE sankofa;

# Exit
\q

Step 4: Run Setup

./scripts/setup-sovereign-stack.sh

Verify Database Connection

Test your connection manually:

psql -h localhost -U postgres -d sankofa

If this works, your password is correct. If it fails, update your password.

Common Solutions

Solution 1: Use Default PostgreSQL Setup

If PostgreSQL was just installed, you might need to set a password:

sudo -u postgres psql
ALTER USER postgres PASSWORD 'dev_sankofa_2024';
\q

Then update .env:

DB_PASSWORD=dev_sankofa_2024

Solution 2: Use Peer Authentication (Local Development)

If you're running as the postgres user or have peer authentication:

# Try connecting without password
sudo -u postgres psql -d sankofa

# If that works, you can use empty password or configure .env differently

Solution 3: Check PostgreSQL Status

# Check if PostgreSQL is running
sudo systemctl status postgresql

# Start if not running
sudo systemctl start postgresql

# Enable on boot
sudo systemctl enable postgresql

After Database is Configured

Once your .env has the correct password:

cd /home/intlc/projects/Sankofa/api
./scripts/setup-sovereign-stack.sh

Or use the interactive script:

./scripts/setup-with-password.sh

Next Steps

After successful setup:

  1. All 9 services will be registered
  2. Phoenix publisher will be created
  3. You can query services via GraphQL
  4. Services appear in marketplace