Jaws Deploy Stack installation guide

Stack is in private-beta testing phase and available on request, as a docker-compose bundle. Reach out to admin[at]jawsdeploy.net if you would like to try it out. Once out of beta-phase the Docker images will be published to Docker Hub. We will also implement installation and scaling with Kubernetes ☸. Stay tuned.

Before you begin

  • Make sure you have Docker service running on the machine where you plan to install Jaws Deploy Stack.
  • Obtain the JawsDeployStack.zip bundle by contacting Jaws Deploy support at admin[at]jawsdeploy.net.
  • An OIDC authentication service instance is required. Jaws Deploy Stack comes without any built-in authentication module, so you’ll need to configure your own. It is most convenient to use your existing instance of Auth0, Microsoft Entra or similar.
  • Configure your OIDC instance to honor the following redirects
    When using default setup the URLs are:
    http://[jaws-app-server]:7100/signin-oidc
    http://[jaws-app-server]:7100/signout-callback-oidc
  • If you need more resources (projects, users, machines) than the amounts available in Free version - reach out to admin[at]jawsdeploy.net to obtain a short-lived testing license.
    It is also possible to keep your installation disconnected from the Internet with an offline license. Contact us to learn more.
  • It is recommended to run the Jaws Deploy Stack with https proxies for both the App and the Hub. Read more here: Setting up a proxy for Jaws Deploy Stack.
  • When doing so, adjust the OIDC redirects with proper protocols and host names:
    https://[your-app-proxy-url]/signin-oidc
    https://[your-app-proxy-url]/signout-callback-oidc
  • Adjust HUB_PROXY_URL in the .env file- read more below in the Installation section.

Installation

Unzip the JawsDeployStack.zip bundle to a location of your choice.

Once unzipped there should be 3 folders (db, hub and web), a docker-compose.yml and .env file. Please adjust the .env file if necessary:

  • DB_ROOT_PASSWORD - password for the root user for MySql DB
  • DB_PASSWORD - password for the jawsdeploy user for MySql DB
  • DB_PORT=3306 - standard listen port for MySql service inside the docker container
  • DB_EXTERNAL_PORT=3307 - listen port for MySql service outside of the docker container
  • WEB_LISTEN_PORT=7100 - default listen port for the web app both inside and outside the container
  • HUB_LISTEN_PORT=7200 - default listen port the Hub microservice inside and outside of the docker container
  • HUB_PROXY_URL - set this up if you plan to proxy the Hub microservice under e.g. https endpoint on the Internet or your local Intranet e.g. https://jaws-hub-001.mydomain.local
  • OIDC_AUTHORITY - URL of your OIDC authentication module. E.g. https://[id].eu.auth0.com
  • OIDC_CLIENT_ID - your OIDC client ID (found in the OIDC configuration)
  • OIDC_CLIENT_SECRET - your OIDC client secret (also found in the OIDC configuration

Note: If you need any further customizations - inspect our docker-compose.yml file.

Startup

Once the .env file is ready open up terminal in the folder with docker-compose.yml and run the following:

> docker compose build
> docker compose up -d

That’s all you need for a basic installation. The app is now live and ready for action 🚀.

Access the app under http://localhost:7100 or https://[your-app-proxy-url] if you’ve set up App proxy.

The app access requires authentication, so if everything is set up correctly you will be redirected to your OIDC authentication endpoint on first visit. Make sure to have OIDC redirects configured properly. Read more in our OIDC guide.

Check if the Rest API is accessible under http://localhost:7100/api/heartbeat or https://[your-app-proxy-url]/api/heartbeat if you’ve set up App proxy. Expect 200 OK plain text response similar to:

2025.7-ad5772

Also check if the Hub microservice is running: http://[jaws-app-server]:7200 or https://[your-hub-proxy-url] if you’ve configured proxy for the Hub. Expect 200 OK response similar to:

{"id":"hub-001","running":true,"version":"2025.7-ad5772"}

Further steps

  • Add machines.
  • Define a project with at least one step.
  • Create a release of the project.
  • Deploy 🚀