Files
Sankofa/api/SETUP_INSTRUCTIONS.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

136 lines
2.8 KiB
Markdown

# Setup Instructions - Sovereign Stack Marketplace
## Prerequisites
1. **PostgreSQL Database** running and accessible
2. **Node.js 18+** and **pnpm** installed
3. **Environment Variables** configured
## Quick Setup
### Option 1: Automated (Recommended)
```bash
cd /home/intlc/projects/Sankofa/api
./scripts/setup-sovereign-stack.sh
```
The script will:
- Check for `.env` file and help create it if missing
- Run database migrations
- Seed all 9 Sovereign Stack services
- Verify the setup
### Option 2: Manual Steps
```bash
cd /home/intlc/projects/Sankofa/api
# 1. Create .env file
pnpm create-env
# Then edit .env and set DB_PASSWORD
# 2. Run migrations
pnpm db:migrate:up
# 3. Seed services
pnpm db:seed:sovereign-stack
# 4. Verify
pnpm verify:sovereign-stack
```
## Environment Configuration
### Create .env File
```bash
# Use helper script
pnpm create-env
# Or copy manually
cp .env.example .env
```
### Required Variables
Edit `.env` and set:
```env
# Database (REQUIRED)
DB_HOST=localhost
DB_PORT=5432
DB_NAME=sankofa
DB_USER=postgres
DB_PASSWORD=your_secure_password_here # ⚠ REQUIRED
# Application
NODE_ENV=development # Set to 'development' for relaxed password requirements
PORT=4000
```
### Password Requirements
**Development Mode** (`NODE_ENV=development`):
- Minimum 8 characters
- Not in insecure secrets list
**Production Mode** (`NODE_ENV=production`):
- Minimum 32 characters
- Must contain: uppercase, lowercase, numbers, special characters
**Example Development Password**: `dev_sankofa_2024`
**Example Production Password**: `MySecureP@ssw0rd123!WithSpecialChars`
## Troubleshooting
### Error: "DB_PASSWORD is required but not provided"
**Fix**: Create `.env` file and set `DB_PASSWORD`:
```bash
pnpm create-env
# Edit .env and set DB_PASSWORD
```
### Error: "Secret uses an insecure default value"
**Fix**: Use a different password (not: password, admin, root, etc.)
### Error: "Secret must be at least 32 characters"
**Fix**: Either:
1. Set `NODE_ENV=development` in `.env` (relaxes to 8 chars)
2. Use a longer password (32+ chars with all requirements)
See [TROUBLESHOOTING.md](../docs/marketplace/sovereign-stack/TROUBLESHOOTING.md) for more help.
## Verification
After setup, verify services:
```bash
pnpm verify:sovereign-stack
```
Expected output:
```
✅ Phoenix publisher found: Phoenix Cloud Services
✅ Found 9 Phoenix services
✅ All 9 expected services found!
```
## Next Steps
1. ✅ Services are now registered in marketplace
2. ⏳ Access via GraphQL API or portal
3. ⏳ Subscribe to services as needed
4. ⏳ Implement full service logic (stubs are ready)
## Documentation
- **Quick Start**: `QUICK_START_SOVEREIGN_STACK.md`
- **Setup Guide**: `docs/marketplace/sovereign-stack/SETUP.md`
- **Troubleshooting**: `docs/marketplace/sovereign-stack/TROUBLESHOOTING.md`
- **Service Docs**: `docs/marketplace/sovereign-stack/*.md`