Installing Kapow! ================= Kapow! has a reference implementation in ``Go`` that is under active development right now. If you want to start using **Kapow!** you can choose from several options. Download and Install a Binary ----------------------------- Binaries for several platforms are available from the `releases `_ section, visit the latest release page and download the binary corresponding to the platfom and architecture you want to install **Kapow!** in. Linux ^^^^^ Install the downloaded binary using the following command as a privileged user. .. code-block:: bash $ install -t /usr/local/bin/kapow path_to_downloaded_binary Windows ^^^^^^^ Copy the downloaded binary to a directory of your choice and update the system ``PATH`` variable to include that directory. Install the package with go get ------------------------------- If you already have `installed and configured `_ the ``go`` runtime in the host where you want to run **Kapow!**, simply run: .. code-block:: bash $ go get -u github.com/BBVA/kapow Include Kapow! in your Container Image -------------------------------------- If you want to include **Kapow!** in a ``Docker`` image you can add the binary directly from the releases section. Following is an example ``Dockerfile`` that includes **Kapow!**. .. code-block:: dockerfile FROM debian:stretch-slim RUN apt-get update ADD https://github.com/BBVA/kapow/releases/download//kapow_linux_amd64 /usr/bin/kapow RUN chmod 755 /usr/bin/kapow ENTRYPOINT ["/usr/bin/kapow"] If the container is intended for running the server and you want to dinamically configure it, remember to include a `--control-bind` param with an external bind address (i.e. ``0.0.0.0``) and to map all the needed ports in order to get access to the control interface. After building the image you can run the container with: .. code-block:: bash $ docker run --rm -i -p 8080:8080 -v $(pwd)/whatever.pow:/opt/whatever.pow kapow:latest server /opt/whatever.pow With the `-v` parameter we map a local file into the container's filesystem so we can use it to configure our **Kapow!** server on startup.