Command Palette
Search for a command to run

Deploy a Service

Step-by-step guide to deploying a production service on Outpost.

This guide walks you through deploying a production HTTP service on Outpost.

Prerequisites

  • An Outpost account
  • The Outpost CLI installed (brew install outpostkit)
  • Authenticated via outpost config --auth outpost.run YOUR_TOKEN

Deploy from the CLI

The simplest way to deploy a service:

outpost serve launch --name my-api --cloud aws --region us-east-1 --gpus A10G --port 8000

Available flags:

Flag Description
--name / -n Service name (required)
--cloud Cloud provider (e.g. aws, azure)
--region Cloud region (e.g. us-east-1)
--gpus GPU type and count, e.g. A10G or A100:4
--cpus Number of vCPUs
--memory Memory in GB
--disk-size Disk size in GB
--port Port the service listens on
--command Command to start the HTTP server
--replicas Replica count
--image Container image
--config / -c Config file
-s, --namespace Namespace (global flag)

Deploy with a config file

For reproducible deployments, define your service in a seed.toml file:

[project] name = "my-api" [service] port = 8000 readiness_probe = "/health" command = "python -m vllm.entrypoints.openai.api_server --model $MODEL_NAME --port 8000" [service.autoscale] strategy = "codel" min_replicas = 1 max_replicas = 5 target_latency_ms = 100 [service.env] MODEL_NAME = "meta-llama/Llama-3.1-8B" [service.accelerators] A10G = 1

Then deploy:

outpost serve launch --config seed.toml
Do not commit secrets
Never store API keys or tokens in config files. Use `--secret` flags or configure secrets in the dashboard, which are injected as environment variables at runtime.

Deploy from the dashboard

  1. Navigate to Services in the dashboard and click Create Service.
  2. Provide a name, select cloud provider and region.
  3. Configure GPU type, ports, and scaling policy.
  4. Add your run command and any environment variables.
  5. Click Deploy.

Outpost provisions infrastructure, starts your application, and begins routing traffic once the health check passes.

Verify your deployment

Once deployed, Outpost assigns an HTTPS endpoint:

curl https://<service-name>.onoutpost.com/health

Check status and logs:

outpost serve status my-api outpost serve list

Managing your service

Action CLI command
View status outpost serve status my-api
List all services outpost serve list
Scale replicas outpost serve scale --name my-api --replicas 3
Delete outpost serve delete my-api

Managing environment variables

You can set environment variables in two ways:

  • In the config file — suitable for non-sensitive configuration like model names or feature flags.
  • In the dashboard — navigate to your service's Settings tab. Values marked as secrets are encrypted at rest and masked in logs.

Next steps

Previous Overview

Next Autoscaling