Fix TypeScript build errors

This commit is contained in:
defiQUG
2026-01-02 20:27:42 -08:00
parent 849e6a8357
commit d4fb8e77cb
295 changed files with 18595 additions and 1391 deletions

View File

@@ -0,0 +1,167 @@
# DBIS Core Deployment - Source Code Deployment Required
## Current Status
All infrastructure and containers are ready, but **source code deployment is incomplete** because the GitHub repository requires authentication.
## ✅ What's Complete
1. **All 6 containers created and running**:
- PostgreSQL Primary (10100) - Database configured ✅
- PostgreSQL Replica (10101) - Container ready ✅
- Redis (10120) - Running ✅
- API Primary (10150) - Node.js installed ✅
- API Secondary (10151) - Node.js installed ✅
- Frontend (10130) - Node.js and Nginx installed ✅
2. **Node.js 18.20.8 installed** via nvm in all application containers
3. **Git installed** in all containers
4. **Systemd service files** created for API containers
5. **Nginx configured** for frontend
6. **All deployment scripts** ready and available
## ⚠️ What's Needed
**Source code must be deployed** to each container. The repository `git@github.com:Order-of-Hospitallers/dbis_core.git` requires authentication.
## Solutions
### Solution 1: Run Deployment Scripts (Once Git Auth is Configured)
The deployment scripts will handle everything automatically:
```bash
ssh root@192.168.11.10 "cd /root/proxmox/dbis_core/scripts/deployment && ./deploy-all.sh"
```
**Prerequisites**: Set up SSH keys for git access first (see Solution 2).
### Solution 2: Set Up Git SSH Authentication
Configure SSH keys on containers to allow git clone:
```bash
# Generate SSH key on each container
for vmid in 10150 10151 10130; do
ssh root@192.168.11.10 "pct exec $vmid -- bash -c 'ssh-keygen -t ed25519 -f ~/.ssh/id_ed25519 -N \"\" -C \"dbis-core-$vmid\" && cat ~/.ssh/id_ed25519.pub'"
done
# Add each public key to GitHub (deploy keys or user SSH keys)
# Then test clone:
ssh root@192.168.11.10 "pct exec 10150 -- bash -c 'GIT_SSH_COMMAND=\"ssh -o StrictHostKeyChecking=no\" git clone git@github.com:Order-of-Hospitallers/dbis_core.git /opt/dbis-core'"
```
### Solution 3: Use Personal Access Token (HTTPS)
If you prefer HTTPS with a token:
```bash
# On each container, clone with token
ssh root@192.168.11.10 "pct exec 10150 -- bash -c 'git clone https://YOUR_TOKEN@github.com/Order-of-Hospitallers/dbis_core.git /opt/dbis-core'"
```
### Solution 4: Copy Source from Local Machine
If you have the source code locally, copy it directly:
```bash
# Create tar archive locally
cd /home/intlc/projects/proxmox
tar czf /tmp/dbis_source.tar.gz dbis_core/src dbis_core/package.json dbis_core/prisma dbis_core/frontend --exclude=node_modules --exclude=dist
# Copy to each container
for vmid in 10150 10151 10130; do
scp /tmp/dbis_source.tar.gz root@192.168.11.10:/tmp/
ssh root@192.168.11.10 "pct push $vmid /tmp/dbis_source.tar.gz /tmp/dbis_source.tar.gz && pct exec $vmid -- bash -c 'cd /opt && rm -rf dbis-core && mkdir -p dbis-core && tar xzf /tmp/dbis_source.tar.gz -C dbis-core && rm /tmp/dbis_source.tar.gz'"
done
```
## After Source Code is Deployed
Once source code is in `/opt/dbis-core` on each container:
### For API Containers (10150, 10151):
```bash
ssh root@192.168.11.10 "pct exec 10150 -- bash -c '
source /root/.nvm/nvm.sh
cd /opt/dbis-core
npm install
npx prisma generate
npm run build
# Create .env file
cat > .env <<EOF
DATABASE_URL=postgresql://dbis:8cba649443f97436db43b34ab2c0e75b5cf15611bef9c099cee6fb22cc3d7771@192.168.11.100:5432/dbis_core
JWT_SECRET=\$(openssl rand -hex 32)
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
EOF
# Restart service
systemctl restart dbis-api
systemctl status dbis-api
'"
```
### For Frontend Container (10130):
```bash
ssh root@192.168.11.10 "pct exec 10130 -- bash -c '
source /root/.nvm/nvm.sh
cd /opt/dbis-core/frontend
# Create .env file
cat > .env <<EOF
VITE_API_BASE_URL=http://192.168.11.150:3000
VITE_APP_NAME=DBIS Admin Console
VITE_REAL_TIME_UPDATE_INTERVAL=5000
EOF
npm install
npm run build
# Restart nginx
systemctl restart nginx
systemctl status nginx
'"
```
### Run Database Migrations:
```bash
ssh root@192.168.11.10 "cd /root/proxmox/dbis_core/scripts/deployment && DBIS_DB_PASSWORD=8cba649443f97436db43b34ab2c0e75b5cf15611bef9c099cee6fb22cc3d7771 ./configure-database.sh"
```
## Database Credentials
- **Database**: dbis_core
- **User**: dbis
- **Password**: `8cba649443f97436db43b34ab2c0e75b5cf15611bef9c099cee6fb22cc3d7771`
- **Host**: 192.168.11.100:5432
⚠️ **Save this password securely!**
## Quick Verification
After deployment:
```bash
# Check API health
curl http://192.168.11.150:3000/health
# Check Frontend
curl http://192.168.11.130
# Check service status
ssh root@192.168.11.10 "cd /root/proxmox/dbis_core/scripts/management && ./status.sh"
```
## Summary
**All infrastructure is ready!** Once source code is deployed (requires git authentication setup), the deployment scripts will handle the rest automatically, or you can complete it manually using the commands above.