[BUG] Docker images >1.2GB due to missing .dockerignore and multi-stage builds
Current Problem
The dockerfiles/avail-node.Dockerfile builds images 1.24GB+, making deploys impractical:
Local benchmark:
docker build -f dockerfiles/avail-node.Dockerfile -t avail:current .
# => 1.24GB, 8 layers, 6min+ build time
Root causes:
- No
.dockerignore: Copies entire repo (.git/, target/, benches/) → 800MB+ bloat
- No multi-stage: Full Rust toolchain (200+MB) leaks into runtime image
- Unoptimized layers: 8+ layers vs typical Substrate 3-4 layers
Impact:
- Slow CI/CD pipelines (6min+ builds)
- High GHCR/DockerHub storage costs
- Poor node operator DX (slow deploys)
- Larger attack surface (toolchain binaries)
Substrate Comparison
Production Substrate/Polkadot nodes: ~350-450MB. Avail is 3x larger than industry standard.
Expected behavior: Lean runtime images (<500MB) following Substrate best practices.
@avail-node-team - Confirming this needs attention?
[BUG] Docker images >1.2GB due to missing .dockerignore and multi-stage builds
Current Problem
The
dockerfiles/avail-node.Dockerfilebuilds images 1.24GB+, making deploys impractical:Local benchmark:
Root causes:
.dockerignore: Copies entire repo (.git/,target/,benches/) → 800MB+ bloatImpact:
Substrate Comparison
Production Substrate/Polkadot nodes: ~350-450MB. Avail is 3x larger than industry standard.
Expected behavior: Lean runtime images (<500MB) following Substrate best practices.
@avail-node-team - Confirming this needs attention?