Woole provides official Docker images for both client and server, enabling quick deployment without manual compilation.
Pre-built images are available on Docker Hub:
- Client:
ecromaneli/woole - Server:
ecromaneli/woole-server
Images are published for each stable release:
latest- Latest stable releaseX.Y.Z- Specific version (e.g.,1.0.0,2.1.3)
Note: Pre-release versions (e.g., v1.0.0-alpha, v1.0.0-nightly) are not published to Docker Hub. Use local builds for testing unreleased versions.
To run the Woole client:
Run the client:
docker run --rm -p 8000:8000 ecromaneli/woole $ARGS- By default, the client will be available on port
8000(sniffer/dashboard). - Replace
$ARGSwith any additional arguments you want to pass to the client (see the Client Options section).
To run the Woole server:
Run the server:
docker run --rm -p 9653:9653 -p 80:80 -p 443:443 ecromaneli/woole-server $ARGS- By default, the server will be available on ports
9653(RPC Tunnel),80(HTTP), and443(HTTPS, if available). - Replace
$ARGSwith any additional arguments you want to pass to the server (see the Server Options section).
docker run --rm -p 8000:8000 ecromaneli/woole -proxy http://192.168.0.1:8080 -tunnel woole.medocker run --rm -p 9653:9653 -p 80:80 -p 443:443 ecromaneli/woole-serverIf the server and client are running in the same machine, remember to put the tunnel URL to a network visible on both containers. Configure the correct host IP address when specifying URLs (use the host machine's IP instead of localhost).
For more information on available options, refer to the Client and Server sections.
Woole can be built and run using Docker for easier setup and usage. The Dockerfile supports building images for both the client and the server.
The Dockerfile is available under the docker folder in the root path of the project.
The Dockerfile accepts the following arguments:
MODULE: Specifies which module to build. Possible values are:client(default): Builds the Woole client.server: Builds the Woole server.
VERSION: Specifies the version of the source code to use. Possible values are:- any specific tag or branch, such as
v1.0.0ormaster. - or
latest(default) for last released version (non pre-release).
- any specific tag or branch, such as
docker build -t {name-and-tag} --build-arg MODULE=server --build-arg VERSION=v1.2.3-example -f Dockerfile .Download the Dockerfile or copy the code to a local file, open the terminal, go to the folder where the Dockerfile is located, and follow the Step-by-step section. Alternatively, use one of the Build One-Liners to build the project with a single command.
Run one of the following commands to automatically download the latest Dockerfile and create the Woole docker image.
Client:
curl -s https://raw.githubusercontent.com/ECRomaneli/woole/master/docker/Dockerfile | docker build --no-cache -t woole -f - .Server:
curl -s https://raw.githubusercontent.com/ECRomaneli/woole/master/docker/Dockerfile | docker build --no-cache -t woole-server --build-arg MODULE=server -f - .Client:
wget -4 -q -O - https://raw.githubusercontent.com/ECRomaneli/woole/master/docker/Dockerfile | docker build --no-cache -t woole -f - .Server:
wget -4 -q -O - https://raw.githubusercontent.com/ECRomaneli/woole/master/docker/Dockerfile | docker build --no-cache -t woole-server --build-arg MODULE=server -f - .In the same folder as the Dockerfile, follow the instructions below.
To build and run the Woole client:
docker build -t woole --build-arg VERSION=v1.2.3-example -f Dockerfile .- The default module is client, so the
MODULE=clientdoes not need to be specified. VERSION=v1.2.3-exampleindicates that versionv1.2.3-exampleof the repository will be used.
docker build -t woole-server --build-arg MODULE=server --build-arg VERSION=v1.2.3-example -f Dockerfile .MODULE=serverspecifies the build target as the Woole Server.VERSION=v1.2.3-exampleindicates that versionv1.2.3-exampleof the repository will be used.