Files
proxmox/docs/11-references/APT_PACKAGES_CHECKLIST.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

7.2 KiB

APT Packages Checklist

Last Updated: 2026-02-05
Document Version: 1.1
Status: Active Documentation


Complete checklist of all apt packages required for each service type.


Install on the machine that runs scripts/push-templates-to-proxmox.sh, verification scripts, and automation that SSHs to Proxmox hosts. These are optional but recommended; many scripts work with only bash curl jq openssl ssh (see scripts/verify/check-dependencies.sh).

# One-line install (Debian/Ubuntu)
sudo apt install -y sshpass rsync dnsutils iproute2 screen tmux htop shellcheck parallel
Package Purpose
sshpass Non-interactive SSH with password (storage-monitor, set-container-password, restart-and-verify-services, Blockscout/update scripts). Prefer SSH keys; use sshpass only when needed.
rsync Efficient sync for push-templates and file copies (optional; script falls back to scp).
dnsutils dig, nslookup for DNS checks in verification.
iproute2 ss for socket checks (optional).
screen / tmux Long-running sessions (deployments, downloads).
htop Interactive process view on hosts.
shellcheck Static analysis for shell scripts (scripts/verify/run-shellcheck.sh).
parallel GNU parallel for batch SSH/commands (optional).

macOS (Homebrew): brew install sshpass rsync bind screen tmux htop shellcheck parallel (sshpass may need brew install hudochenkov/sshpass/sshpass or use SSH keys).


Besu Nodes

Common Packages (All Besu Node Types)

openjdk-17-jdk      # Java 17 Runtime (Required for Besu)
wget                # Download Besu binary
curl                # HTTP client utilities
jq                  # JSON processing
netcat-openbsd      # Network utilities (nc command)
iproute2            # Network routing utilities (ip command)
iptables            # Firewall management
ca-certificates     # SSL certificate store
gnupg               # GPG for package verification
lsb-release         # LSB release information

Note: nginx for RPC Nodes

nginx is NOT installed on RPC nodes. Instead, VMID 105 (nginx-proxy-manager) is used as a centralized reverse proxy and load balancer for all RPC endpoints. This provides:

  • Centralized management via web UI
  • Load balancing across RPC nodes (2500-2502)
  • SSL termination
  • High availability with automatic failover

See docs/NGINX_ARCHITECTURE_RPC.md for details.

Install Scripts:

  • install/besu-validator-install.sh
  • install/besu-sentry-install.sh
  • install/besu-rpc-install.sh

Blockscout Explorer

docker.io           # Docker runtime
docker-compose      # Docker Compose orchestration
curl
wget
jq
ca-certificates
gnupg
lsb-release

Install Script: install/blockscout-install.sh


Hyperledger Fabric

docker.io
docker-compose
curl
wget
jq
ca-certificates
gnupg
lsb-release
python3
python3-pip
build-essential     # C/C++ compiler and build tools

Install Script: install/fabric-install.sh


Hyperledger Firefly

docker.io
docker-compose
curl
wget
jq
ca-certificates
gnupg
lsb-release

Install Script: install/firefly-install.sh


Hyperledger Indy

docker.io
docker-compose
curl
wget
jq
ca-certificates
gnupg
lsb-release
python3
python3-pip
python3-dev         # Python development headers
libssl-dev          # OpenSSL development libraries
libffi-dev          # Foreign Function Interface library
build-essential     # C/C++ compiler and build tools
pkg-config          # Package configuration tool
libzmq5             # ZeroMQ library (runtime)
libzmq3-dev         # ZeroMQ library (development)

Install Script: install/indy-install.sh


Hyperledger Cacti

docker.io
docker-compose
curl
wget
jq
ca-certificates
gnupg
lsb-release

Install Script: install/cacti-install.sh


python3
python3-pip
python3-venv        # Python virtual environment
curl
wget
jq
ca-certificates

Install Script: install/ccip-monitor-install.sh


Oracle Publisher

docker.io
docker-compose
curl
wget
jq
ca-certificates
gnupg
lsb-release
python3
python3-pip

Install Script: install/oracle-publisher-install.sh


Keeper

docker.io
docker-compose
curl
wget
jq
ca-certificates
gnupg
lsb-release

Install Script: install/keeper-install.sh


Financial Tokenization

docker.io
docker-compose
curl
wget
jq
ca-certificates
gnupg
lsb-release
python3
python3-pip

Install Script: install/financial-tokenization-install.sh


Monitoring Stack

docker.io
docker-compose
curl
wget
jq
ca-certificates
gnupg
lsb-release

Install Script: install/monitoring-stack-install.sh


Package Summary by Category

Essential System Packages (Most Services)

  • curl, wget, jq, ca-certificates, gnupg, lsb-release

Docker Services

  • docker.io, docker-compose

Python Services

  • python3, python3-pip
  • Optional: python3-dev, python3-venv, build-essential

Java Services (Besu)

  • openjdk-17-jdk

Network Utilities

  • netcat-openbsd, iproute2, iptables

Development Tools

  • build-essential (includes gcc, g++, make, etc.)
  • pkg-config

Libraries

  • libssl-dev, libffi-dev, libzmq5, libzmq3-dev

Verification Commands

After deployment, verify packages are installed:

# Check Java (Besu nodes)
pct exec <vmid> -- java -version

# Check Docker (Docker-based services)
pct exec <vmid> -- docker --version
pct exec <vmid> -- docker-compose --version

# Check Python (Python services)
pct exec <vmid> -- python3 --version
pct exec <vmid> -- pip3 --version

# Check specific packages
pct exec <vmid> -- dpkg -l | grep -E "openjdk-17|docker|python3"

Package Installation Notes

Automatic Installation

All packages are automatically installed by their respective install scripts during container deployment.

Installation Order

  1. Container created with Ubuntu 22.04 template
  2. Container started
  3. Install script pushed to container
  4. Install script executed (installs all apt packages)
  5. Application software installed/downloaded
  6. Services configured

APT Update

All install scripts run apt-get update before installing packages.

Non-Interactive Mode

All install scripts use export DEBIAN_FRONTEND=noninteractive to prevent interactive prompts.


Troubleshooting

Package Installation Fails

Error: E: Unable to locate package <package-name>

Solution:

# Update package lists
pct exec <vmid> -- apt-get update

# Check if package exists
pct exec <vmid> -- apt-cache search <package-name>

# Check Ubuntu version
pct exec <vmid> -- lsb_release -a

Insufficient Disk Space

Error: E: Write error - write (28: No space left on device)

Solution:

# Check disk usage
pct exec <vmid> -- df -h

# Clean apt cache
pct exec <vmid> -- apt-get clean

Network Connectivity Issues

Error: E: Failed to fetch ... Connection timed out

Solution:

# Test network connectivity
pct exec <vmid> -- ping -c 3 8.8.8.8

# Check DNS resolution
pct exec <vmid> -- nslookup archive.ubuntu.com