Chamber v1.0 is here! 🎉 Discover a new way of privacy
Docker

Install Chamber with Docker

Chamber is available on Docker Hub .

Docker images are built against linux/arm64 and linux/amd64 targets only.

Get (Download) the image

To get (download) the latest version working run:

docker pull techrail/chamber:latest

You may change the tag to get another version which you might prefer. Such as:

docker pull techrail/chamber:v0.4.0-beta

Running the image

Assuming you downloaded the latest image, the following command should launch the image in the intended way:

docker run \
  --mount "type=bind,target=/chamberpath,source=/home/vaibhav/chamberpath" \
  -p 8080:24262 techrail/chamber /usr/local/bin/chamber

In the above command, we are trying to run Chamber using Docker with the following setup:

  • The port 8080 on localhost will map to the port Chamber listens on, internally.
  • The image used is techrail/chamber which by default would launch the latest image.
  • The path /home/vaibhav/chamberpath is bind-mounted at /chamberpath inside the container.

We have to launch the docker image in that way because of certain differences in the docker specific releases compared to the normal build.

Differences in Docker build from normal build

Docker builds of Chamber have a different binary than the normal build. While you are free to create your own Docker images using the release binaries, the following differences are present in the default docker build we provide:

  1. Chamber inside docker image always launches on port 24262. You must map an available port from your machine to this one. In the example above, we are using port 8080 to map.
  2. Chamber inside docker image does NOT attempt to launch a browser upon starting a server. Since docker images are typically used in server environments, and most servers are headless (have no display attached to them), it makes sense to not try to launch a web browser on that machine.
  3. The docker version does not allow you to input the Chamberpath on the login UI. Even if you trick it by sending the request normally, it will always try to search for the Chamberfile inside /chamberpath. In the above command example, we are doing a bind mount of the /home/vaibhav/chamberpath to the intended location inside the docker image. You can do something different here, such as use a volume.

Note: The container storage is ephemeral and you must always provide the mount for /chamberpath externally. Otherwise, it won’t work.

Apart from the differences listed above, both the normal release binary and the docker binary have the same exact behavior.

Last updated on