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

335 lines
5.8 KiB
Markdown

# APT Packages Checklist
Complete checklist of all apt packages required for each service type.
---
## Besu Nodes
### Common Packages (All Besu Node Types)
```bash
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
```bash
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
```bash
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
```bash
docker.io
docker-compose
curl
wget
jq
ca-certificates
gnupg
lsb-release
```
**Install Script**: `install/firefly-install.sh`
---
## Hyperledger Indy
```bash
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
```bash
docker.io
docker-compose
curl
wget
jq
ca-certificates
gnupg
lsb-release
```
**Install Script**: `install/cacti-install.sh`
---
## Chainlink CCIP Monitor
```bash
python3
python3-pip
python3-venv # Python virtual environment
curl
wget
jq
ca-certificates
```
**Install Script**: `install/ccip-monitor-install.sh`
---
## Oracle Publisher
```bash
docker.io
docker-compose
curl
wget
jq
ca-certificates
gnupg
lsb-release
python3
python3-pip
```
**Install Script**: `install/oracle-publisher-install.sh`
---
## Keeper
```bash
docker.io
docker-compose
curl
wget
jq
ca-certificates
gnupg
lsb-release
```
**Install Script**: `install/keeper-install.sh`
---
## Financial Tokenization
```bash
docker.io
docker-compose
curl
wget
jq
ca-certificates
gnupg
lsb-release
python3
python3-pip
```
**Install Script**: `install/financial-tokenization-install.sh`
---
## Monitoring Stack
```bash
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:
```bash
# 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**:
```bash
# 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**:
```bash
# 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**:
```bash
# Test network connectivity
pct exec <vmid> -- ping -c 3 8.8.8.8
# Check DNS resolution
pct exec <vmid> -- nslookup archive.ubuntu.com
```