For SaaS customers we perform the setup and maintenance of Elimity Insights servers behind the scenes. These installation instructions are mainly useful for on-prem deployments.
Deployment
From v3.40.0 onwards, we distribute all Elimity Insights releases as Docker images for both Linux and Windows Server hosts. Our recommendation for deploying these is to use your cloud provider's dedicated-VM-for-container solution (e.g. Google Cloud Containers on Compute Engine, Azure Container Instances, ...) and combining it with their product for HTTP(S) proxying (e.g. Google Cloud Load Balancing, Azure Load Balancer). Note that we don't support deploying Elimity Insights using services like Google Cloud Run and Azure Container Apps (but we do recommend these for gateways and import agents). The main reason is that Elimity Insights servers currently do not match most cloud providers' definition of a microservice:
- Elimity Insights servers build a cache on startup which might take a while.
- Elimity Insights servers do not support horizontal scaling.
- Elimity Insights servers perform scheduled long-running tasks in the background.
Services like Google Cloud Containers on Compute Engine and Azure Container Instances however are a perfect fit for Elimity Insights servers:
- No manual VM management
- Great integration with your cloud provider's key vault for mounting secrets
- Configuration / monitoring / upgrades via your cloud provider's user-friendly UI
We also support deploying manually on e.g. Windows Server if using your cloud provider's dedicated-VM-for-container solution is not an option. In either case please refer to our knowledge base article about working with containers for detailed setup instructions. Visit https://console.cloud.google.com/artifacts/docker/elimity-general/europe-west1/docker/insights to get a list of available image tags for this specific gateway.
Configuration
To configure your Elimity Insights server container, mount a directory at `/app/config`. This directory must contain an `elimity.yml` and `secrets.yml` file. You can download a configuration template from the attachments at the bottom of this page.
Upgrades
Upgrading an Elimity Insights deployment typically requires performing the following steps:
- Shutting down the server container with the old image version
- Backing up your database
- Performing database migrations (not applicable for patch upgrades)
- Restarting the server container with the new image version
For database migrations we provide a separate image for which we recommend deploying as a one-off job in e.g. Google Cloud Run or Azure Container Apps. You can also run the image manually using the Docker CLI:
$ docker run --rm europe-west1-docker.pkg.dev/elimity-general/docker/insights-database-migrate:<tag> help
Elimity Insights database migration tool
Description:
This tool applies database migrations required for upgrading Elimity Insights. It migrates the specified Postgres
databases in-place. Note that this tool can only migrate databases for Elimity Insights v3.x.
Usage:
elimity-insights-database-migrate help
elimity-insights-database-migrate migrate -dsn=<dsn> -target-version=<target-version>
elimity-insights-database-migrate target-versions
elimity-insights-database-migrate version
Commands:
help Print usage information
migrate Migrate a database
target-versions List supported target versions
version Print version information
Flags:
-dsn=<dsn> Data source name, e.g. 'postgres://user@host/database'
-target-version=<target-version> Target version, e.g. 'v3.1'
Visit https://console.cloud.google.com/artifacts/docker/elimity-general/europe-west1/docker/insights-database-migrate to get a list of available tags for this specific image.
Comments
0 comments
Please sign in to leave a comment.