With this commit we split the build process into three stages: we start
with the JavaScript to static asset build process that requires NodeJS
then copy the result into the second stage that requires golang.
Finally, we just extract the final binaries in the third stage to keep
the shipped image as small as possible.
We add a new standalone Dockerfile that checks out the code from GitHub
and goes through all necessary build steps from scratch. The git commit
or tag that should be checked out before building can be specified as a
build argument.
To still allow more rapid development, the old Dockerfile that builds
from the local source is renamed to dev.Dockerfile to make the
distinction clear.