- 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>
3.9 KiB
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
# 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
ssh root@192.168.11.10
Step 3: Run Deployment on Host
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:
./scripts/deploy-to-proxmox-host.sh
This script will:
- Copy the deployment package to the Proxmox host
- SSH into the host
- Run the deployment automatically
Option 2: Hybrid Approach (API + SSH)
Create containers via API, then configure via SSH.
Step 1: Create Containers via API
# 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
# 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:
-
Copy Package to Host
./scripts/deploy-to-proxmox-host.sh -
Or Manual Copy:
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:
# 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:
./scripts/deploy-to-proxmox-host.sh
This automates the entire process of copying and deploying.
Last Updated: $(date)