Overview

This guide walks you through deploying an AI assistant powered by OpenAI (Standard) using Docker Deployment. You'll configure the provider, set up the deployment environment, and get your assistant running.

Why OpenAI (Standard)?

  • Standard OpenAI access
  • GPT-4o models
  • Simple setup

Why Docker Deployment?

  • Portable
  • Reproducible
  • Isolation

Requirements

  • Docker: Docker Engine 20.10+
  • Docker Compose: For multi-container orchestration
  • OpenAI (Standard) credentials: API key or authentication

Step 1: Configure OpenAI (Standard)

Standard API key only

  1. Create account at platform.openai.com
  2. Generate API key
  3. Set OPENAI_API_KEY environment variable
Environment Variable: OPENAI_API_KEY

Step 2: Prepare Docker Deployment Environment

  1. Create Dockerfile: Create a Dockerfile for OpenClaw
  2. Create docker-compose.yml: Set up Docker Compose configuration
  3. Build Image: Build the Docker image
    docker compose build
  4. Start Container: Start the container
    docker compose up -d
  5. Run Onboarding: Complete setup inside container
    docker compose exec openclaw openclaw onboard

Step 3: Configuration

Create your openclaw.json configuration:

{
  "agents": {
    "defaults": {
      "model": {
        "primary": "openai/gpt-4o"
      }
    }
  },
  "models": {
    "providers": {
      "openai": {
  "models": {
    "providers": {
      "openai": {
        "apiKey": "${OPENAI_API_KEY}
    }
  }
}

Step 4: Deploy

# docker-compose.yml
version: '3.8'
services:
  openclaw:
    image: node:22-slim
    command: ["sh", "-c", "npm install -g openclaw@latest && openclaw gateway"]
    ports:
      - "18789:18789"
    volumes:
      - openclaw_data:/root/.openclaw
    environment:
      - ANTHROPIC_API_KEY=${ANTHROPIC_API_KEY}
    restart: unless-stopped

volumes:
  openclaw_data:

Step 5: Verify

# Check deployment status
openclaw status

# View logs
openclaw logs --follow

# Test with a message
openclaw test "Hello, are you working?"

Connect to Channels

Now connect your deployed OpenAI (Standard) assistant to messaging channels: