Add Docker support and make expressjs listen on ipv4 and ipv6 by default
This uses a Dockerfile derived from the parent repo this one is forked off. For a smaller image it also uses the alpine image like @niekcandaele suggested already. I added the storage system dependencies as comments as they should only be installed on demand to save some space. As such, I removed the storage dependencies from the package.json as well because these should only be installed afterwards on demand and otherwise these would be installed by default for the Docker image on build as well. This of course needs documentation so I think I may create an issue for this.
I added a simple docker-compose.yml I am using myself (with postgres) that builds the image and starts the container with a runnable configuration if run with docker-compose up -d. (You may only need to create the config.js before starting the container or simply comment it out).
Lastly, the hostname should be set to null by default to make expressjs listen on both ipv4 and ipv6 to make it also more suitable to be run with Docker. :)
I merged the changes from @niekcandaele's branch, so this closes #8 of course and I suggest closing #9 for this.
I also just pushed some images to https://hub.docker.com/r/sunred/haste-server that can be pulled and run directly.
Going through the commit history I noticed you did add the document storage client dependencies again at some point to allow for an easier default installation process. I think it is indeed a better practice to install all dependencies by default and allow for an optional "minimal" build to be run and install the optional dependencies manually. Thus, I added a minimal build script, added the deps as optional that are installed by default and also added a comment about this in the Dockerfile. :)