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

149 lines
2.8 KiB
Markdown

# 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
### Option 1: Use Interactive Setup (Recommended)
```bash
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
```bash
sudo -u postgres psql
ALTER USER postgres PASSWORD 'your_new_password';
\q
```
**Option B**: Check if you have a password in your system
```bash
# 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:
```bash
cd /home/intlc/projects/Sankofa/api
nano .env # or use your preferred editor
```
Set:
```env
DB_PASSWORD=your_actual_postgres_password
NODE_ENV=development
```
#### Step 3: Create Database (if needed)
```bash
# Connect to PostgreSQL
sudo -u postgres psql
# Create database
CREATE DATABASE sankofa;
# Exit
\q
```
#### Step 4: Run Setup
```bash
./scripts/setup-sovereign-stack.sh
```
## Verify Database Connection
Test your connection manually:
```bash
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:
```bash
sudo -u postgres psql
ALTER USER postgres PASSWORD 'dev_sankofa_2024';
\q
```
Then update `.env`:
```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:
```bash
# 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
```bash
# 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:
```bash
cd /home/intlc/projects/Sankofa/api
./scripts/setup-sovereign-stack.sh
```
Or use the interactive script:
```bash
./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