Some checks failed
Deploy to Phoenix / deploy (push) Has been cancelled
- 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>
196 lines
3.9 KiB
Markdown
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)
|
|
|