To reduce the Docker image size a seperate build Dockerfile is
introduced. This Docker image produces a tarball of the released and
compiled software which can when be piped into the Dockerfile.run build
process. The result is a minimal image only containing Spreed WebRTC and
the gear to run OpenSSL.
First create the builder image:
```
docker build -t spreed-webrtc-builder -f Dockerfile.build .
```
Next run the builder container, piping its output into the creation of
the runner container:
```
docker run --rm spreed-webrtc-builder | docker build -t spreed-webrtc -f
Dockerfile.run -
```
Afterwards run the container like this:
```
docker run --rm --name my-spreed-webrtc -p 8080:8080 -p 8443:8443 \
-v `pwd`:/srv/extra -i -t spreed-webrtc
```
To avoid issues with existing environment variables while building Go
sources the Makefile now removes existing GOROOT and GOBIN environment
variables. This should fix issues like #324 where the environment
already contains some sort of Go settings.
To use local AMD modules within extra.d plugins, the relative URL for
the global requireJS configuration makes this a bit difficult. To solve
this the following code can be added to plugin files, before the first
define call.
```
require.config({
paths: {
'extra.d': '../../../extra.d',
}
})
define(['./local-module'], function(localModule) { /* ... */ });
```
This change adds this configuration by default, so it is no longer
required to have it in each plugin which want to use './local-module'
syntax in require or define. As all plugins loaded via `extra.d` folder
are inside `extra.d` this automatically means that the URLs are resolved
correctly from the extra.d base URL as defined by the plugin itself.