Files
proxmox/rpc-translator-138/DOCKER_VS_BINARY.md
defiQUG cb47cce074 Complete markdown files cleanup and organization
- 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.
2026-01-06 01:46:25 -08:00

3.8 KiB

Docker vs Binary Installation - Decision Rationale

Reference: Web3Signer Docker Documentation


Overview

Web3Signer offers two installation methods:

  1. Binary Distribution (current approach)
  2. Docker Image (alternative)

Current Approach: Binary Installation in LXC Container

Why We Chose Binary Installation

Simplicity

  • Direct installation, no additional layers
  • No Docker daemon required
  • Simpler systemd service management

LXC Container Compatibility

  • LXC containers are already configured and running
  • Binary installation integrates naturally with LXC
  • Direct file system access

Resource Efficiency

  • No container-in-container overhead
  • Lower memory footprint
  • Faster startup times

System Integration

  • Native systemd service support
  • Direct log management via journalctl
  • Standard Linux process management

Proxmox Integration

  • Works seamlessly with Proxmox LXC containers
  • Uses standard Proxmox container management tools (pct)
  • No additional virtualization layers

Docker Installation Would Require

Additional Complexity

  • Install Docker daemon in LXC container
  • Container-in-container setup (LXC → Docker)
  • Docker daemon management and maintenance

Resource Overhead

  • Docker daemon requires additional memory
  • Two layers of containerization
  • More complex networking setup

Integration Challenges

  • Need to manage Docker containers within LXC
  • More complex systemd integration
  • Additional troubleshooting layers

Documentation Example

docker run -p 9000:9000 consensys/web3signer:develop [options]
  • Would need to adapt this for LXC environment
  • Port mapping, volume mounting, etc. still needed
  • Requires Docker runtime installation

Comparison Summary

Aspect Binary (Current) Docker
Setup Complexity Simple More complex
Resource Usage Lower Higher
LXC Integration Native ⚠️ Container-in-container
Service Management systemd ⚠️ Docker + systemd
Maintenance Standard Linux ⚠️ Docker + LXC
Performance Direct ⚠️ Additional layer

Recommendation

Continue with Binary Installation

Our current approach (binary installation in LXC container) is optimal because:

  1. We're already using LXC containers
  2. Binary installation is simpler and more efficient
  3. Better integration with existing infrastructure
  4. Lower resource overhead
  5. Standard Linux service management

Current Status

  • LXC container (VMID 107) created and running
  • Java 21 installed (required for Web3Signer)
  • Systemd service configured
  • Network configuration complete (192.168.11.111:9000)
  • Waiting for Web3Signer binary download and transfer

References


If Docker is Still Desired

If you still want to use Docker despite the recommendations above, the process would be:

  1. Install Docker in LXC container 107:

    pct exec 107 -- bash -c 'apt-get update && apt-get install -y docker.io'
    
  2. Run Web3Signer Docker container:

    pct exec 107 -- docker run -d \
      --name web3signer \
      -p 192.168.11.111:9000:9000 \
      -v /opt/web3signer/data:/data \
      consensys/web3signer:25.12.0 \
      --http-listen-port=9000 \
      --http-listen-host=0.0.0.0 \
      --data-path=/data
    

However, this adds unnecessary complexity for our use case.