Skip to main content

Configurations & Workloads

A Configuration defines what runs on your devices: the container image, hardware access, and runtime settings.

Configuration overview

Creating a Configuration

Go to Configs > New Configuration in the Admiral dashboard.

Workload Image

Specify your OCI/Docker container image:

docker.io/username/app:latest
ghcr.io/organization/app:v1.2.3
registry.example.com/app:stable

Admiral supports any OCI-compliant registry including Docker Hub, GitHub Container Registry, Google Container Registry, and private registries.

Access & Behavior

Interactive Mode

  • Enable for: CLI tools, debugging, interactive apps
  • Disable for: Background services, web servers, daemons

Full Device Access

  • Grants container access to all host hardware
  • Required for: GPU/NPU acceleration, direct hardware control
  • Security note: Only enable when necessary

Host Network

  • Container shares the host's IP address
  • Removes NAT overhead
  • Use for: High-performance apps, specific interface binding

Hardware Access

System Mounts - Bind host devices to the container:

/dev/video0  → Camera access
/dev/snd → Audio devices
/dev/dri → GPU rendering
/dev/ttyUSB0 → Serial devices

Custom Volumes - Persistent storage:

Host: /data/application
Container: /app/data

Data written to /app/data persists across container restarts.

Environment Variables

Define environment variables for your container:

API_KEY=your-secret-key
DATABASE_URL=postgresql://host/db
LOG_LEVEL=debug

Port Mapping

Map container ports to host ports:

Host Port: 8080
Container Port: 80
Protocol: TCP

Makes a web server on container port 80 accessible at host port 8080.

Configuration Versions

Every configuration change creates a new version, enabling:

  • Rollback to previous working configurations
  • Audit trail of what changed and when
  • Safe deployments by testing versions before fleet-wide rollout

Next Steps

Learn how to organize devices into Fleets for efficient management at scale.