IOSetu On-Prem: Docker Deployment Guide¶
IOSetu On-Prem is distributed as a lightweight, production-ready Docker container available through Docker Hub and AWS Marketplace.
Quick Start¶
Option 1: Docker Hub (Public - Recommended for Testing)¶
Pull the latest version from Docker Hub public registry:
docker pull priyaiosystems/iosetu:latest
# Or specific version (replace x.y.z with the version number)
docker pull priyaiosystems/iosetu:x.y.z
# Run the container
docker run -d \
--name iosetu \
-p 8080:8080 \
priyaiosystems/iosetu:latest
Verify it's running:
curl http://localhost:8080/health
# Expected: OK
Option 2: AWS Marketplace (Enterprise)¶
Note: Requires an active AWS Marketplace subscription to IOSetu. Subscribe here.
Pull from AWS ECR:
# Authenticate with ECR
aws ecr get-login-password --region us-east-1 | \
docker login --username AWS --password-stdin \
709825985650.dkr.ecr.us-east-1.amazonaws.com
# Pull the image (replace x.y.z with the version number)
docker pull 709825985650.dkr.ecr.us-east-1.amazonaws.com/priya-io-systems/iosetu:x.y.z
# Run the container
docker run -d \
--name iosetu \
-p 8080:8080 \
709825985650.dkr.ecr.us-east-1.amazonaws.com/priya-io-systems/iosetu:latest
Configuration¶
Configure the container using environment variables.
| Variable | Default | Description |
|---|---|---|
IOSETU_PORT |
8080 |
Port to listen on. |
IOSETU_LOG_LEVEL |
info |
Log level: debug, info, warn, error. |
IOSETU_TELEMETRY_ENABLED |
false |
Enable OpenTelemetry tracing. |
OTEL_EXPORTER_OTLP_ENDPOINT |
localhost:4318 |
OTLP collector endpoint. |
GOMEMLIMIT |
- | Go runtime memory limit (recommended for container limits). |
GOMAXPROCS |
- | CPU core limit (auto-detected if unset). |
Example: Custom Port & Logging¶
docker run -d \
-p 9090:9090 \
-e IOSETU_PORT=9090 \
-e IOSETU_LOG_LEVEL=debug \
709825985650.dkr.ecr.us-east-1.amazonaws.com/priya-io-systems/iosetu:latest
License Configuration¶
IOSetu requires a valid license key to operate. You can provide the license via environment variable or file mount (recommended for security).
Option 1: Environment Variable¶
-e IOSETU_LICENSE_KEY="your-license-key"
Option 2: File Mount (Recommended)¶
Mount the license file to /etc/iosetu/license.key and set IOSETU_LICENSE_FILE env var:
docker run -d \
-v $(pwd)/license.key:/etc/iosetu/license.key \
-e IOSETU_LICENSE_FILE=/etc/iosetu/license.key \
priyaiosystems/iosetu:latest
This method allows hot-reloading of the license without restarting the container. See the License Monitoring guide for details.
Resource Limits¶
IOSetu is highly efficient. Recommended limits for production:
- CPU: 0.5 vCPU (Baseline), 2.0 vCPU (Burstable)
- Memory: 128MB (Baseline), 512MB (Max)
docker run -d \
-p 8080:8080 \
--cpus=0.5 \
--memory=256m \
--memory-reservation=128m \
709825985650.dkr.ecr.us-east-1.amazonaws.com/priya-io-systems/iosetu:latest
Health Checks¶
IOSetu provides a /health endpoint for orchestrators.
Docker Compose Example:
services:
iosetu:
image: 709825985650.dkr.ecr.us-east-1.amazonaws.com/priya-io-systems/iosetu:latest
ports:
- "8080:8080"
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:8080/health"]
interval: 30s
timeout: 5s
retries: 3
start_period: 10s
deploy:
resources:
limits:
cpus: '1.0'
memory: 512M
reservations:
cpus: '0.5'
memory: 128M
Next Steps¶
- ECS Deployment: See AWS ECS (Fargate) for production deployment
- Kubernetes: See Kubernetes (EKS) for K8s deployment
- API Guide: Read the API Guide to start integrating