4.9 KiB
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
-
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 ✅
-
Node.js 18.20.8 installed via nvm in all application containers
-
Git installed in all containers
-
Systemd service files created for API containers
-
Nginx configured for frontend
-
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:
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:
# 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:
# 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:
# 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):
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):
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:
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:
# 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.