Files
proxmox/docs/03-deployment/REMOTE_DEPLOYMENT.md
defiQUG fbda1b4beb
Some checks failed
Deploy to Phoenix / deploy (push) Has been cancelled
docs: Ledger Live integration, contract deploy learnings, NEXT_STEPS updates
- ADD_CHAIN138_TO_LEDGER_LIVE: Ledger form done; public code review repo bis-innovations/LedgerLive; init/push commands
- CONTRACT_DEPLOYMENT_RUNBOOK: Chain 138 gas price 1 gwei, 36-addr check, TransactionMirror workaround
- CONTRACT_*: AddressMapper, MirrorManager deployed 2026-02-12; 36-address on-chain check
- NEXT_STEPS_FOR_YOU: Ledger done; steps completable now (no LAN); run-completable-tasks-from-anywhere
- MASTER_INDEX, OPERATOR_OPTIONAL, SMART_CONTRACTS_INVENTORY_SIMPLE: updates
- LEDGER_BLOCKCHAIN_INTEGRATION_COMPLETE: bis-innovations/LedgerLive reference

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-12 15:46:57 -08:00

196 lines
3.9 KiB
Markdown

# Remote Deployment Guide
**Last Updated:** 2026-01-31
**Document Version:** 1.0
**Status:** Active Documentation
---
## Issue: Deployment Scripts Require Proxmox Host Access
The deployment scripts (`deploy-all.sh`, etc.) are designed to run **ON the Proxmox host** because they use the `pct` command-line tool, which is only available on Proxmox hosts.
**Error you encountered:**
```
[ERROR] pct command not found. This script must be run on Proxmox host.
```
---
## Solutions
### Option 1: Copy to Proxmox Host (Recommended)
**Best approach:** Copy the deployment package to the Proxmox host and run it there.
#### Step 1: Copy Deployment Package
```bash
# From your local machine
cd /home/intlc/projects/proxmox
# Copy to Proxmox host
scp -r smom-dbis-138-proxmox root@192.168.11.10:/opt/
```
#### Step 2: SSH to Proxmox Host
```bash
ssh root@192.168.11.10
```
#### Step 3: Run Deployment on Host
```bash
cd /opt/smom-dbis-138-proxmox
# Make scripts executable
chmod +x scripts/deployment/*.sh
chmod +x install/*.sh
# Run deployment
./scripts/deployment/deploy-all.sh
```
#### Automated Script
Use the provided script to automate this:
```bash
./scripts/deploy-to-proxmox-host.sh
```
This script will:
1. Copy the deployment package to the Proxmox host
2. SSH into the host
3. Run the deployment automatically
---
### Option 2: Hybrid Approach (API + SSH)
Create containers via API, then configure via SSH.
#### Step 1: Create Containers via API
```bash
# Use the remote deployment script (creates containers via API)
cd smom-dbis-138-proxmox
./scripts/deployment/deploy-remote.sh
```
#### Step 2: Copy Files and Install
```bash
# Copy installation scripts to Proxmox host
scp -r install/ root@192.168.11.10:/opt/smom-dbis-138-proxmox/
# SSH and run installations
ssh root@192.168.11.10
cd /opt/smom-dbis-138-proxmox
# Install in each container
for vmid in 106 107 108 109; do
pct push $vmid install/besu-validator-install.sh /tmp/install.sh
pct exec $vmid -- bash /tmp/install.sh
done
```
---
### Option 3: Use MCP Server Tools
The MCP server provides API-based tools that can create containers remotely.
**Available via MCP:**
- Container creation
- Container management
- Configuration
**Limitations:**
- File upload (`pct push`) still requires local access
- Some operations may need local execution
---
## Why `pct` is Required
The `pct` (Proxmox Container Toolkit) command:
- Is only available on Proxmox hosts
- Provides direct access to container filesystem
- Allows file upload (`pct push`)
- Allows command execution (`pct exec`)
- Is more efficient than API for some operations
**API Alternative:**
- Container creation: ✅ Supported
- Container management: ✅ Supported
- File upload: ⚠️ Limited (requires workarounds)
- Command execution: ✅ Supported (with limitations)
---
## Recommended Workflow
### For Remote Deployment:
1. **Copy Package to Host**
```bash
./scripts/deploy-to-proxmox-host.sh
```
2. **Or Manual Copy:**
```bash
scp -r smom-dbis-138-proxmox root@192.168.11.10:/opt/
ssh root@192.168.11.10
cd /opt/smom-dbis-138-proxmox
./scripts/deployment/deploy-all.sh
```
### For Local Deployment:
If you have direct access to the Proxmox host:
```bash
# On Proxmox host
cd /opt/smom-dbis-138-proxmox
./scripts/deployment/deploy-all.sh
```
---
## Troubleshooting
### Issue: "pct command not found"
**Solution:** Run deployment on Proxmox host, not remotely.
### Issue: "Permission denied"
**Solution:** Run with `sudo` or as `root` user.
### Issue: "Container creation failed"
**Check:**
- API token has proper permissions
- Storage is available
- Template exists
- Sufficient resources
---
## Summary
**Best Practice:** Copy deployment package to Proxmox host and run there.
**Quick Command:**
```bash
./scripts/deploy-to-proxmox-host.sh
```
This automates the entire process of copying and deploying.
---
**Last Updated:** $(date)