How to deploy Firely Server using Helm Charts
How-to's
11 Min Read

How to deploy Firely Server using Helm Charts

Subscribe to our newsletter

Subscribe

Ready to run Firely Server on Kubernetes using Helm charts in just a few steps?

With our open source Firely Helm Charts, we’ve made that process even easier—whether you’re using Firely Server in development or production. 

Deploying a FHIR server with Helm charts makes setup and management in Kubernetes fast, consistent, and scalable. With just a few commands, you get repeatable deployments, easy configuration, and built-in support for upgrades and rollbacks. 

In this guide, we’ll walk you through how to deploy a Firely Server using these Firely Helm Charts, from setting up a local Kubernetes cluster to verifying that the deployment is successful. 

Let’s get started! 

  • Minikube: A Kubernetes distribution designed for local development.
  • Docker Desktop: Docker Desktop provides an easy-to-use Kubernetes cluster.
  • Kind (Kubernetes IN Docker): Runs Kubernetes clusters inside Docker containers.  

For cloud providers like Azure, GCP, or AWS, managed Kubernetes services (AKS, GKE, EKS) are available for production environments.  

In this guide, we’ll focus on Minikube and demonstrate how you can use a Kubernetes cluster locally.

Installing Minikube 

Let’s first install Minikube. You can find installation instructions on the official website here. After installation, let’s start Minikube:  

Check that the kubectl context is now minikube by running:  

If the result is not minikube then change the context to minikube:  

 Let’s have a look at the nodes. To list the nodes, do the following:  

Nice! You’re all set to deploy Firely Server. 

Next, you’ll need Helm, a package manager for Kubernetes that simplifies deploying applications. Firely provides an official Helm chart for Firely Server and Firey Auth, making deployment straightforward.

Installing Helm 

On the official Helm website, you can find instructions on how to install Helm for your operating system. 

After installation, verify it’s properly installed: 

In this case we use version 3.17.0 of Helm.

Adding the Firely Helm Chart repository

To install Firely Server, first add the official Firely Helm Chart repository: 

Providing the Firely Server license  

To run Firely Server, you’ll need a valid license. You can get a free evaluation license on our Firely Server trial page

You will then receive an email with a download link to your license key. Save that key on your local machine. 

The recommended way to provide the license is through a Kubernetes secret. First, create a secret with your license key:  

Installing Firely Server

Then, install Firely Server using Helm, referencing the secret: 

After this, we provide 2 extra settings: 

  • image.tag=latest. This ensures you get the most up-to-date version of Firely Server. 
  • service.port=8080. The Firely Helm Charts defaults to port 80, but access to ports below 1024 may fail on Windows, so here we opt for a higher number.

Now, start a load balancer by running this command: 

Note: You need to keep this shell open while using the application. For Linux or Mac users, you might need to use “sudo minikube tunnel” instead. 

Let’s make sure everything works! 

First, check that the Firely Server pod is running: 

To see the services, use: 

Next, test the server by opening a browser and navigating to http://127.0.0.1:8080/. This should display the landing page of the installed Firely Server. You can also use this URL in Postman, for example, to execute REST requests against the Firely Server. 

For more deployment options, such as configuring dependencies (e.g., database, authentication), refer to the official README in our Helm Charts GitHub repo

For example, you can create your own values file and use that during the deployment: 

Save this file as fs-values.yaml and install Firely Server with: 

Need to clean things up? Run the following commands: 

This will ensure that Firely Server, its associated license secret, and the Minikube cluster are fully removed.

And that’s it! You’ve successfully deployed Firely Server using our open-source Helm charts. 

By leveraging Kubernetes secrets for licensing and configuring dependencies via Helm values, you can tailor the deployment to fit your needs. For further customization, check the Helm chart documentation and explore additional configurations. 

At Firely, we believe in the power of open source and collaboration. By making the Firely Helm charts publicly available, we aim to enable the community to contribute, improve, and extend the Helm charts for deploying Firely Server. Whether you want to improve existing charts, add new features, report issues, or enhance documentation, your input is highly valued and will help make this project even better. 

We invite you to explore the Firely Helm Charts on GitHub and contribute! If you’re interested, you can check out our guidelines in the repository and open an issue or submit a pull request. We look forward to building this together with you.

Happy deploying!

By Marten Smits

Marten is Developer and DevOps engineer at Firely. He loves expanding his knowledge by picking up new projects, topics, and tech. In his spare time (which has become rare since fatherhood) you can find him on his road bike a lot. Marten even has a private shower at the Firely office to support his cycling commutes.

Recommendations for you

Explore more topics

Post a comment

Your email address will not be published. Required fields are marked *