Files
dbis_core/DEPLOYMENT_COMPLETE_FINAL.md
2026-01-02 20:27:42 -08:00

7.4 KiB

DBIS Core Deployment - COMPLETE

Deployment Status: SUCCESSFUL

All DBIS Core services have been successfully deployed, configured, and are running on Proxmox containers.

Service Status

PostgreSQL Primary (VMID 10100)

  • Status: Running
  • IP: 192.168.11.100
  • Port: 5432
  • Database: dbis_core
  • User: dbis
  • Connection: postgresql://dbis:8cba649443f97436db43b34ab2c0e75b5cf15611bef9c099cee6fb22cc3d7771@192.168.11.100:5432/dbis_core

PostgreSQL Replica (VMID 10101)

  • Status: Container Running (ready for replication setup)
  • IP: 192.168.11.101

Redis Cache (VMID 10120)

  • Status: Running
  • IP: 192.168.11.120
  • Port: 6379
  • Service: redis-server (active)

API Primary (VMID 10150)

  • Status: Running
  • IP: 192.168.11.150
  • Port: 3000
  • Service: dbis-api (systemd)
  • Source: /opt/dbis-core
  • Node.js: v18.20.8 (via nvm)
  • Build: Compiled TypeScript

API Secondary (VMID 10151)

  • Status: Running
  • IP: 192.168.11.151
  • Port: 3000
  • Service: dbis-api (systemd)
  • Source: /opt/dbis-core
  • Node.js: v18.20.8 (via nvm)
  • Build: Compiled TypeScript

Frontend (VMID 10130)

  • Status: Running
  • IP: 192.168.11.130
  • Port: 80 (HTTP)
  • Service: nginx (active)
  • Source: /opt/dbis-core/frontend/dist
  • Node.js: v18.20.8 (via nvm)
  • Build: Vite production build

Service Endpoints

Service URL Status
PostgreSQL 192.168.11.100:5432 Running
Redis 192.168.11.120:6379 Running
API Primary http://192.168.11.150:3000 Running
API Secondary http://192.168.11.151:3000 Running
Frontend http://192.168.11.130 Running
API Health http://192.168.11.150:3000/health Available

Quick Access

# API Health Check
curl http://192.168.11.150:3000/health

# Frontend
curl http://192.168.11.130

# Service Status
ssh root@192.168.11.10 "cd /root/proxmox/dbis_core/scripts/management && ./status.sh"

Database Credentials

⚠️ IMPORTANT: Save these credentials securely!

  • Database: dbis_core
  • User: dbis
  • Password: 8cba649443f97436db43b34ab2c0e75b5cf15611bef9c099cee6fb22cc3d7771
  • Host: 192.168.11.100
  • Port: 5432
  • Connection String: postgresql://dbis:8cba649443f97436db43b34ab2c0e75b5cf15611bef9c099cee6fb22cc3d7771@192.168.11.100:5432/dbis_core

Configuration Files

API Environment (.env)

Location: /opt/dbis-core/.env (on each API container)

DATABASE_URL=postgresql://dbis:PASSWORD@192.168.11.100:5432/dbis_core
JWT_SECRET=<randomly generated per container>
ALLOWED_ORIGINS=http://192.168.11.130,https://192.168.11.130
NODE_ENV=production
LOG_LEVEL=info
HSM_ENABLED=false
REDIS_URL=redis://192.168.11.120:6379
PORT=3000

Frontend Environment (.env)

Location: /opt/dbis-core/frontend/.env

VITE_API_BASE_URL=http://192.168.11.150:3000
VITE_APP_NAME=DBIS Admin Console
VITE_REAL_TIME_UPDATE_INTERVAL=5000

Management Commands

All management scripts are at /root/proxmox/dbis_core/scripts/management/:

# Check service status
ssh root@192.168.11.10 "cd /root/proxmox/dbis_core/scripts/management && ./status.sh"

# Start all services
ssh root@192.168.11.10 "cd /root/proxmox/dbis_core/scripts/management && ./start-services.sh"

# Stop all services
ssh root@192.168.11.10 "cd /root/proxmox/dbis_core/scripts/management && ./stop-services.sh"

# Restart all services
ssh root@192.168.11.10 "cd /root/proxmox/dbis_core/scripts/management && ./restart-services.sh"

Service Logs

# API logs (Primary)
ssh root@192.168.11.10 "pct exec 10150 -- journalctl -u dbis-api -f"

# API logs (Secondary)
ssh root@192.168.11.10 "pct exec 10151 -- journalctl -u dbis-api -f"

# Frontend Nginx logs
ssh root@192.168.11.10 "pct exec 10130 -- tail -f /var/log/nginx/access.log"
ssh root@192.168.11.10 "pct exec 10130 -- tail -f /var/log/nginx/error.log"

# PostgreSQL logs
ssh root@192.168.11.10 "pct exec 10100 -- journalctl -u postgresql -f"

# Redis logs
ssh root@192.168.11.10 "pct exec 10120 -- journalctl -u redis-server -f"

Database Migrations

If you need to run database migrations:

ssh root@192.168.11.10 "pct exec 10150 -- bash -c 'source /root/.nvm/nvm.sh && cd /opt/dbis-core && npx prisma migrate deploy'"

Or use the configuration script:

ssh root@192.168.11.10 "cd /root/proxmox/dbis_core/scripts/deployment && DBIS_DB_PASSWORD=8cba649443f97436db43b34ab2c0e75b5cf15611bef9c099cee6fb22cc3d7771 ./configure-database.sh"

What Was Deployed

  1. All 6 containers created and running
  2. PostgreSQL database configured with user
  3. Redis cache running
  4. Source code deployed to all containers
  5. Node.js dependencies installed
  6. TypeScript compiled for API
  7. Frontend built with Vite
  8. Systemd services configured and running
  9. Nginx configured and serving frontend
  10. Environment variables configured
  11. Database migrations ready (if needed)

Troubleshooting

Service Not Responding

  1. Check service status:

    ssh root@192.168.11.10 "pct exec <vmid> -- systemctl status <service-name>"
    
  2. Check logs:

    ssh root@192.168.11.10 "pct exec <vmid> -- journalctl -u <service-name> -n 50"
    
  3. Verify build exists:

    # API
    ssh root@192.168.11.10 "pct exec 10150 -- test -f /opt/dbis-core/dist/index.js && echo 'Build exists' || echo 'Build missing'"
    
    # Frontend
    ssh root@192.168.11.10 "pct exec 10130 -- test -d /opt/dbis-core/frontend/dist && echo 'Build exists' || echo 'Build missing'"
    

API Errors

Check API logs for specific errors:

ssh root@192.168.11.10 "pct exec 10150 -- journalctl -u dbis-api -n 100 --no-pager"

Database Connection Issues

Test database connection:

ssh root@192.168.11.10 "pct exec 10150 -- bash -c 'source /root/.nvm/nvm.sh && cd /opt/dbis-core && npx prisma db pull'"

Network Access

All services are accessible on the internal network (192.168.11.0/24).

For external access, configure:

  1. Cloudflare Tunnel (recommended) - See CLOUDFLARE_DNS_CONFIGURATION.md
  2. Port forwarding on router
  3. VPN access to internal network

Security Notes

  1. Database Password: Consider changing the auto-generated password in production
  2. JWT Secret: Each API container has a unique JWT secret (auto-generated)
  3. HTTPS: Configure SSL certificates for frontend in production
  4. Firewall: Database (5432) and Redis (6379) ports should be restricted to internal network
  5. CORS: API only allows origins from the frontend IP (192.168.11.130)

Next Steps (Optional)

  1. ⏭️ Configure PostgreSQL replication (replica container ready)
  2. ⏭️ Set up SSL/HTTPS for frontend
  3. ⏭️ Configure Cloudflare DNS and tunnels (see CLOUDFLARE_DNS_CONFIGURATION.md)
  4. ⏭️ Set up monitoring and alerting
  5. ⏭️ Configure automated backups for PostgreSQL
  6. ⏭️ Set up log aggregation
  7. ⏭️ Configure health checks and auto-recovery

Deployment Complete! 🎉

All DBIS Core services are deployed, configured, and running successfully on Proxmox!

The DBIS Core Banking System is now operational at: