335 lines
5.8 KiB
Markdown
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
|
|
```
|
|
|