Skip to main content

API Deployment

Local Deployment (Preferred)

Deploy locally for speed, push to main to true everything up.

Prerequisites

# Start Colima (lightweight Docker daemon)
colima start --cpu 2 --memory 4

# Login to ECR
aws ecr get-login-password --region us-east-1 | docker login --username AWS --password-stdin 255982108053.dkr.ecr.us-east-1.amazonaws.com

Build and Deploy

There are two API apps to deploy. The former per-product apps (statuspages/alerting/synthetics/insights) were folded into Divinux (C5/D5/E5, May 2026) — one image serves all of those surfaces.

cd statux-api

# Divinux (alerting + synthetics + statuspages + insights surfaces)
docker build -f Dockerfile.divinux -t 255982108053.dkr.ecr.us-east-1.amazonaws.com/statux-divinux-api:latest .
docker push 255982108053.dkr.ecr.us-east-1.amazonaws.com/statux-divinux-api:latest
aws autoscaling start-instance-refresh --auto-scaling-group-name statux-prod-asg-divinux-api --preferences '{"MinHealthyPercentage":100,"MaxHealthyPercentage":200,"InstanceWarmup":120}'

# Platform
docker build -f Dockerfile.platform -t 255982108053.dkr.ecr.us-east-1.amazonaws.com/statux-platform-api:latest .
docker push 255982108053.dkr.ecr.us-east-1.amazonaws.com/statux-platform-api:latest
aws autoscaling start-instance-refresh --auto-scaling-group-name statux-prod-asg-platform-api --preferences '{"MinHealthyPercentage":50,"InstanceWarmup":120}'

Reference

AppDockerfileECR RepoASG
Divinux (ex statuspages/alerting/synthetics/insights)Dockerfile.divinuxstatux-divinux-apistatux-prod-asg-divinux-api
PlatformDockerfile.platformstatux-platform-apistatux-prod-asg-platform-api

CodeBuild (Push to Main)

Push to main triggers CodeBuild automatically:

AppProjectTrigger Path
Divinuxstatux-prod-codebuild-api-divinuxapps/divinux/**, libs/**
Platformstatux-prod-codebuild-api-platformapps/platform/**, libs/**

Monitoring Deployment

# Watch ASG refresh status
aws autoscaling describe-instance-refreshes \
--auto-scaling-group-name statux-prod-asg-divinux-api \
--query 'InstanceRefreshes[0]'