Running FROST as non-root in Docker #237
Merged
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.
It's widley considered best practice to not let docker containers run with root priviliges. And while the official Tomcat-Image maintainers seem to be of a different opinion (docker-library/tomcat#14) this should not stop other projects from fixing this flaw.
As we want to use the FROST-Server in an Openshift-Cluster, it is vital to not be using the root user, as OS by default restricts this behaviour.
With this PR both Dockerfiles of the HTTP and MQTTP variant of FROST are extended by creating a new "tomcat"-User with the belonging group. This user then gets access rights to
CATALINA_HOME
and finally we switch to the user so that the container is running as non-root.