Preparations for Rails 7.1

Hey Sam,

Would love some help getting the default Docker files in the best shape possible. Just right off the bat, I’d like to see:

  • Multi-stage builds when using node (but keep as-is on the default import map path)
  • Use jemalloc by default, if we can absolutely guarantee no issues with the underlying distro. Can’t risk segfaults.
  • Explore debian slim image, but with the directive that compatibility is more important than image size. So all major gems (and popular minor ones) must have their dependencies satisfied by the slim image.
  • Explore the swap file rather than die on OOM

Some questions:

  • Where are you tracking the node/npm version needed by Volta?
  • Can you show me the Rakefiles you use for these standard tasks? Including release?
  • Do you setup dependencies via docker-compose or another way?
3 Likes