Files
proxmox/docs/11-references/APT_PACKAGES_CHECKLIST.md

5.8 KiB

APT Packages Checklist

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


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