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

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

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:

  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

# 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)

For Remote Deployment:

  1. Copy Package to Host

    ./scripts/deploy-to-proxmox-host.sh
    
  2. 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)