Skip to main content


This guide describes how to deploy Runops to AWS.


1. Storage

comming soon

Automated database provisioning for AWS with Terraform

  • Create a Mysql database instance using RDS or any other means.
    • Create a schema called runops
    • Create a user with permission to select, insert, update, and delete items to that schema.

2. Gateway

  • Run one instance of the container runops/gateway in a private network
    • Do not expose this container to the internet as it doesn't support TLS directly
    • The easiest ways we found to deploy the gateway are:
      • AWS ECS Fargate
      • Kubernetes
    • But you can chose the method that suites your organization the best.
comming soon

Automated container deployment for Kubernetes and ECS with Helm and Terraform

Add these environment variables to the container:

Environment VariableDetails
DB_HOSTDatabase (mysql) configuration
DB_NAMEDatabase (mysql) configuration
DB_PASSDatabase (mysql) configuration
DB_USERDatabase (mysql) configuration

3. Ingress

  • Create an Application Load Balancer
  • Create a DNS CNAME alias with the domain name you will use to server Runops
  • Create and validate a TLS certificate using AWS Certificate Manager
  • Add 2 listeners to the Load Balancer for exposing the ports:
    • 443:8080
      • HTTP port with API endpoints and user interface static assets
    • 8443:9090
      • GRPC port for agents and clients connections
comming soon

Automated ingress deployment for AWS using Terraform

At this point you can access the Load Balancer address on port 443 and access the Runops user interface.

4. Agents

Use the standard steps to create and manage Runops agents only adding the SERVER_URL address as an additional environment variable with the address of your load balancer.

5. Clients

Use the environment variable SERVER_URL when interacting with the CLI.