Managed cloud
Manual setup - Managed Cloud

Manual setup

If you would like to manually deploy the managed cloud API within your own cloud infrastructure, you can follow the instructions on this page.

Need help?

Hybiscus can undertake the process of setting up the Managed Cloud API within your cloud infrastructure, if you're using Microsoft Azure.

Get up and running faster in your own cloud using our dedicated service, which you can purchase from the link here. For more details on this service, feel free to reach out to us at support@hybiscus.dev.

To setup this deployment, you will need to run between 1 and 3 containers. The containers required are as follows:

  • Hybiscus managed cloud API
  • Hybiscus managed cloud worker
  • Redis

The two Hybiscus containers use the same image hybiscusdev.azurecr.io/managed-cloud/api:latest. You can replace latest with a specific version (listed here).

Launching the service

Launch API container

To setup the API container, launch the image with port 3000 exposed and providing the following environment variables:

  • HYBISCUS_API_KEY – your API key from the Hybiscus dashboard
  • API_KEY – the API key used to protect this managed cloud API deployment

If you would like to setup the async API, you will also need to provide the following environment variables:

  • ENABLE_ASYNC_API – set to TRUE
  • REDIS_HOST – the host of where your Redis service is running. This could be a separate Docker container. Defaults to localhost, if not set. To access Redis from your host O/S, set value to host.docker.internal.
  • REDIS_PORT – the port number of your Redis server. Defaults to 6379, if not set.

If using the async API, you will also need to mount a volume to /usr/app/data where the generated PDF reports will reside. This volume will also need to be mounted in the next container, explained below.

An equivalent Docker CLI command would be:

docker run \
-p 3000:3000 \
-e HYBISCUS_API_KEY=YOUR_API_KEY \
-e API_KEY=CUSTOM_API_KEY \
-e ENABLE_ASYNC_API=TRUE \
-e REDIS_HOST=host.docker.internal \
-e REDIS_PORT=6379 \
-v $(pwd)/data:/usr/app/data \
hybiscusdev.azurecr.io/managed-cloud/api:latest

Launch worker container

If you have opted to use the async API, you must also launch another container using the same image (hybiscusdev.azurecr.io/managed-cloud/api:latest), however using the entrypoint override set to ./entrypoint-worker.sh.

You will need to provide ALL the same environment variables as mentioned above, including mounting a volume to /usr/app/data that is the same as above.

An equivalent Docker CLI command would be:

docker run \
-e HYBISCUS_API_KEY=YOUR_API_KEY \
-e API_KEY=CUSTOM_API_KEY \
-e ENABLE_ASYNC_API=TRUE \
-e REDIS_HOST=host.docker.internal \
-e REDIS_PORT=6379 \
-v $(pwd)/data:/usr/app/data \
--entrypoint "./entrypoint-worker.sh" \
hybiscusdev.azurecr.io/managed-cloud/api:latest

Redis server

The Redis server can be launched either using a Docker container and the official Redis image, setup locally on your server or using a hosted service. In all scenarios, follow the instructions of the provider to setup the Redis server.


You should now be ready to use your Hybiscus managed cloud API. The API will be accessible on port 3000. If deploying in the cloud, you may also want to use an NGINX container as a reverse proxy to assign a domain name to your deployment, as well as provide HTTPS encryption. Hybiscus recommends Azure Container Apps, as this handles HTTPS connections and reverse proxying out of the box, as well as the ability to scale up the worker containers to handle increased demand.

Missing something?

Hybiscus is continuously improving and adding new features. If you think we are missing a critical feature, please do not hesitate to contact us and offer your feedback at support@hybiscus.dev