- Organized 252 files across project - Root directory: 187 → 2 files (98.9% reduction) - Moved configuration guides to docs/04-configuration/ - Moved troubleshooting guides to docs/09-troubleshooting/ - Moved quick start guides to docs/01-getting-started/ - Moved reports to reports/ directory - Archived temporary files - Generated comprehensive reports and documentation - Created maintenance scripts and guides All files organized according to established standards.
6.6 KiB
6.6 KiB
LXC Container Deployment Guide
This document provides detailed instructions for deploying the supporting services (Redis, Web3Signer, Vault) as LXC containers on Proxmox.
Prerequisites
- Proxmox Node Access: SSH access to the Proxmox host (r630-01 recommended)
- LXC Templates: Ubuntu 22.04 LTS template downloaded
- Storage: Sufficient space on local-lvm storage (50GB+ recommended)
- Network: vmbr0 bridge configured with access to 192.168.11.0/24
Quick Start
1. Verify Node Readiness
cd rpc-translator-138
./verify-node-ready.sh r630-01
This script checks:
- ✅ Node is online and accessible
- ✅ Storage is available
- ✅ LXC templates are present
- ✅ Network bridges are configured
- ✅ Sufficient resources (memory/disk)
- ✅ VMIDs 106, 107, 108 are available
2. Deploy Supporting Services
./deploy-supporting-services.sh r630-01
This script creates all three containers:
- VMID 106: Redis (192.168.11.110)
- VMID 107: Web3Signer (192.168.11.111)
- VMID 108: Vault (192.168.11.112)
3. Start and Configure Containers
After deployment, containers are created but not started. Start them:
pct start 106 # Redis
pct start 107 # Web3Signer
pct start 108 # Vault
Then configure each service (see detailed instructions below).
Container Specifications
| Service | VMID | IP | Hostname | CPU | RAM | Disk | Template |
|---|---|---|---|---|---|---|---|
| Redis | 106 | 192.168.11.110 | redis-rpc-translator | 2 | 512MB | 10GB | Ubuntu 22.04 |
| Web3Signer | 107 | 192.168.11.111 | web3signer-rpc-translator | 2 | 2048MB | 20GB | Ubuntu 22.04 |
| Vault | 108 | 192.168.11.112 | vault-rpc-translator | 2 | 2048MB | 20GB | Ubuntu 22.04 |
Manual Deployment
If you prefer manual deployment or need to customize the configuration:
Redis Container (VMID 106)
# Create container
pct create 106 local:vztmpl/ubuntu-22.04-standard_22.04-1_amd64.tar.zst \
--hostname redis-rpc-translator \
--cores 2 \
--memory 512 \
--swap 512 \
--storage local-lvm \
--rootfs local-lvm:10 \
--net0 name=eth0,bridge=vmbr0,ip=192.168.11.110/24,gw=192.168.11.1 \
--onboot 1 \
--unprivileged 0 \
--features nesting=1
# Start container
pct start 106
# Enter container
pct enter 106
# Install Redis
apt-get update
apt-get install -y redis-server
# Configure Redis
nano /etc/redis/redis.conf
# Set: bind 192.168.11.110
# Set: requirepass <strong-password> # Optional but recommended
# Set: protected-mode yes
# Start Redis
systemctl enable redis-server
systemctl restart redis-server
# Verify
redis-cli -h 192.168.11.110 ping
# Should return: PONG
Web3Signer Container (VMID 107)
# Create container
pct create 107 local:vztmpl/ubuntu-22.04-standard_22.04-1_amd64.tar.zst \
--hostname web3signer-rpc-translator \
--cores 2 \
--memory 2048 \
--swap 2048 \
--storage local-lvm \
--rootfs local-lvm:20 \
--net0 name=eth0,bridge=vmbr0,ip=192.168.11.111/24,gw=192.168.11.1 \
--onboot 1 \
--unprivileged 0 \
--features nesting=1
# Start container
pct start 107
# Enter container
pct enter 107
# Install dependencies
apt-get update
apt-get install -y openjdk-17-jre-headless wget curl
# Download Web3Signer
cd /opt
wget https://artifacts.consensys.net/web3signer/web3signer-23.10.0/web3signer-23.10.0.tar.gz
tar -xzf web3signer-23.10.0.tar.gz
cd web3signer-23.10.0
# Configure Web3Signer
# See Web3Signer documentation for configuration
# Configure key storage, HTTP server, etc.
# Test
./bin/web3signer --version
Vault Container (VMID 108)
# Create container
pct create 108 local:vztmpl/ubuntu-22.04-standard_22.04-1_amd64.tar.zst \
--hostname vault-rpc-translator \
--cores 2 \
--memory 2048 \
--swap 2048 \
--storage local-lvm \
--rootfs local-lvm:20 \
--net0 name=eth0,bridge=vmbr0,ip=192.168.11.112/24,gw=192.168.11.1 \
--onboot 1 \
--unprivileged 0 \
--features nesting=1
# Start container
pct start 108
# Enter container
pct enter 108
# Install Vault
apt-get update
apt-get install -y unzip wget curl
cd /tmp
wget https://releases.hashicorp.com/vault/1.15.0/vault_1.15.0_linux_amd64.zip
unzip vault_1.15.0_linux_amd64.zip
mv vault /usr/local/bin/
chmod +x /usr/local/bin/vault
# Create vault user and directories
useradd -r -s /bin/false vault
mkdir -p /etc/vault.d /var/lib/vault
chown vault:vault /var/lib/vault
# Configure Vault (see Vault documentation for production setup)
# For development/testing:
vault server -dev -dev-listen-address="192.168.11.112:8200"
# Test
vault version
Verifying Deployment
Check Container Status
# List containers
pct list | grep -E "106|107|108"
# Check individual containers
pct status 106
pct status 107
pct status 108
Test Connectivity
From a translator VMID (2400-2402) or the Proxmox host:
# Test Redis
redis-cli -h 192.168.11.110 ping
# Test Web3Signer
curl http://192.168.11.111:9000/upcheck
# Test Vault
curl http://192.168.11.112:8200/v1/sys/health
Check Logs
# Container logs
pct enter 106
journalctl -u redis-server -n 50
pct enter 107
# Web3Signer logs location depends on configuration
pct enter 108
# Vault logs location depends on configuration
Troubleshooting
Container Won't Start
# Check container configuration
pct config 106
# Check logs
journalctl -u pve-container@106
# Check resource availability
pvesh get /nodes/r630-01/status
Network Issues
# Verify network configuration
pct config 106 | grep net0
# Test connectivity from host
ping 192.168.11.110
ping 192.168.11.111
ping 192.168.11.112
# Check firewall rules (if applicable)
iptables -L -n | grep 192.168.11
Template Not Found
If the script reports "No LXC templates found":
- Access Proxmox Web UI
- Go to: Datacenter > Storage > local (or local-lvm)
- Click "Templates" tab
- Click "Download Templates"
- Select "ubuntu-22.04-standard"
- Wait for download to complete
- Re-run the deployment script
Next Steps
After containers are deployed and configured:
- Configure Services: See
DEPLOYMENT.mdfor detailed service configuration - Update Translator Configuration: Update
.envfiles on translator VMIDs (2400-2402) - Test Integration: Verify translator can connect to all supporting services
- Deploy Translator: Follow translator deployment guide
References
- Proxmox LXC Documentation: https://pve.proxmox.com/pve-docs/pve-admin-guide.html#chapter_lxc
- Redis Documentation: https://redis.io/docs/
- Web3Signer Documentation: https://docs.web3signer.consensys.io/
- Vault Documentation: https://developer.hashicorp.com/vault/docs