Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR creates a Dockerfile that will build an image that will run evolve as a static page.
Docker file is platform-agnostic, as all of the base images are dockerhub library images and promised to be available for all supported platforms. It built well on my machine for both amd64 arch and armhf. Versions of the images are not precisely locked, as builder step is only restricted to node version 20. Runner image is more restricted though.
The Dockerfile is somewhat optimized, as it uses separate build step, and the resulting image only contains files needed to render the page and run scripts. The copy directives are also sorted from the least changing to the most changing, so layers should be preserved as much as possible. The resulting image is 24MB total, in which about 15MB is the game, and 9MB is nginx.
This PR also fixes the
.gitignore
as it excluded.*
for some reason, so both.gitignore
and.dockerignore
are not processed by git. This is most unusual, and if there are some dot-files that should be ignored by git they should definitely be put explicitly by name in the.gitignore
. As this is additional change only tangentially related to this PR, if it doesn't meet your need, I will revert it.Lastly, the page starts without errors and plays well - I did a hell lord run without any issues on my own instance. But I did not analyze the whole code and there might be some resources that I overlooked, so I would appreciate more engaged maintainer to recheck if everything is included.