# Start everything at once
docker-compose -f deployment/docker/docker-compose.yml up
# Or run in background
docker-compose -f deployment/docker/docker-compose.yml up -dTerminal 1: Frontend Dev Server
npm run dev
# Serves React app on http://localhost:5173Terminal 2: OAuth Server
node oauth-server.js
# OAuth server on http://localhost:3002Terminal 3: Main Server
node deployment/app-semantic-server.js
# Main server on http://localhost:4000Create .env file:
# GitHub OAuth (for local testing)
GITHUB_CLIENT_ID=your_oauth_client_id
GITHUB_CLIENT_SECRET=your_oauth_client_secret
# GitHub App (for production features)
GITHUB_APP_ID=YOUR_APP_ID
GITHUB_APP_CLIENT_ID=YOUR_CLIENT_ID
GITHUB_APP_PRIVATE_KEY="-----BEGIN RSA PRIVATE KEY-----
...your private key...
-----END RSA PRIVATE KEY-----"Test OAuth Health:
curl http://localhost:3002/health
curl http://localhost:4000/api/github/oauth/client-idTest GitHub App Endpoints:
# Test through main server proxy (how frontend calls it)
curl -X POST http://localhost:4000/api/github/app/create-repository \
-H "Content-Type: application/json" \
-d '{"installation_id":"83404431","name":"test-repo"}'
# Test OAuth server directly
curl -X POST http://localhost:3002/api/github/app/create-repository \
-H "Content-Type: application/json" \
-d '{"installation_id":"83404431","name":"test-repo"}'Check OAuth server connectivity:
# From main server container/process
curl http://localhost:3002/healthCheck proxy routing:
# Main server should proxy to OAuth server
curl http://localhost:4000/api/github/oauth/healthFrontend (5173) → Main Server (4000) → OAuth Server (3002) → GitHub API
↓ ↓ ↓
React App Proxy + Static GitHub OAuth/App
File Server Authentication
- Check if OAuth server is running on port 3002
- Verify main server can reach
http://localhost:3002 - Check firewall/network connectivity
- Make sure both servers have the latest code
- Verify proxy routes exist in
deployment/app-semantic-server.js - Check OAuth server has the actual endpoint in
oauth-server.js
- OAuth server needs GitHub credentials to work
- Main server needs to know OAuth server URL (default: localhost:3002)
# Check if servers are running
lsof -i :3002 # OAuth server
lsof -i :4000 # Main server
lsof -i :5173 # Frontend dev server
# Test connectivity
curl http://localhost:3002/health
curl http://localhost:4000/health
curl http://localhost:4000/api/github/oauth/health
# Check logs
# (servers will output logs to terminal when run manually)