We used Rocky 8 to match what's running on our servers, but this should be easy enough for community members to improve upon. Building the container installs Node 18, builds the webapp and exports the generated dist/ directory.