v1.4

Deployment Guide

Production deployment options for Docker, Kubernetes, and air-gapped environments.

Prerequisites

RequirementDetails
Server/VMMinimum 8 vCPU, 32 GB RAM, 100 GB storage
OSUbuntu 22.04+, RHEL 9+, Windows Server 2022+
NetworkInternal network only — no outbound internet required
CertificatesTLS cert for HTTPS; optional mTLS for API auth
StorageWritable directory for data and logs

Docker

The recommended deployment method for single-server environments.

Basic

docker run -d \
  --name fowyldai \
  --gpus all \
  -p 8000:8000 \
  -v /opt/fowyldai/data:/app/data \
  -v /opt/fowyldai/config:/app/config \
  fowyldai/engine:latest

Docker Compose

version: "3.8"
services:
  fowyldai:
    image: fowyldai/engine:latest
    container_name: fowyldai
    restart: unless-stopped
    ports:
      - "8000:8000"
    volumes:
      - ./data:/app/data
      - ./config:/app/config
      - ./logs:/app/logs
    deploy:
      resources:
        reservations:
          devices:
            - driver: nvidia
              count: all
              capabilities: [gpu]
    environment:
      - FOWYLD_LOG_LEVEL=info
      - FOWYLD_DATA_DIR=/app/data
    healthcheck:
      test: ["CMD", "curl", "-f", "http://localhost:8000/health"]
      interval: 30s
      timeout: 10s
      retries: 3

TLS termination

docker run -d \
  --name fowyldai \
  --gpus all \
  -p 443:8000 \
  -v /opt/fowyldai/data:/app/data \
  -v /opt/certs:/app/certs:ro \
  -e FOWYLD_TLS_CERT=/app/certs/cert.pem \
  -e FOWYLD_TLS_KEY=/app/certs/key.pem \
  fowyldai/engine:latest

Kubernetes

For multi-node, high-availability deployments.

Deployment manifest

apiVersion: apps/v1
kind: Deployment
metadata:
  name: fowyldai
  labels:
    app: fowyldai
spec:
  replicas: 2
  selector:
    matchLabels:
      app: fowyldai
  template:
    metadata:
      labels:
        app: fowyldai
    spec:
      containers:
        - name: engine
          image: fowyldai/engine:latest
          ports:
            - containerPort: 8000
          resources:
            requests:
              memory: "16Gi"
              cpu: "4"
              nvidia.com/gpu: "1"
            limits:
              memory: "32Gi"
              cpu: "8"
              nvidia.com/gpu: "1"
          volumeMounts:
            - name: data
              mountPath: /app/data
            - name: config
              mountPath: /app/config
          livenessProbe:
            httpGet:
              path: /health
              port: 8000
            initialDelaySeconds: 60
            periodSeconds: 30
          readinessProbe:
            httpGet:
              path: /health
              port: 8000
            initialDelaySeconds: 30
            periodSeconds: 10
      volumes:
        - name: data
          persistentVolumeClaim:
            claimName: fowyldai-data
        - name: config
          configMap:
            name: fowyldai-config
---
apiVersion: v1
kind: Service
metadata:
  name: fowyldai
spec:
  selector:
    app: fowyldai
  ports:
    - port: 8000
      targetPort: 8000
  type: ClusterIP
GPU scheduling Ensure the NVIDIA device plugin is installed in your cluster. Nodes must have GPU drivers and nvidia-container-toolkit installed.

Air-Gap Deployment

FowyldAI is built for environments with zero internet access. No external calls are made at any point — models, config, and updates are delivered via sealed packages.

Step 1: Download the bundle (on a connected machine)

# Download sealed deployment package
curl -O https://releases.fowyld.ai/bundles/fowyldai-1.4.0-airgap.tar.gz

# Verify integrity
sha256sum -c fowyldai-1.4.0-airgap.tar.gz.sha256

Step 2: Transfer to air-gapped environment

# Via USB, secure file transfer, or approved media
# Bundle includes: container image, models, config templates

Step 3: Load and run

# Load the container image
docker load -i fowyldai-engine-1.4.0.tar

# Extract config and models
tar xzf fowyldai-models-1.4.0.tar.gz -C /opt/fowyldai/

# Start
docker run -d \
  --name fowyldai \
  --gpus all \
  --network none \
  -p 8000:8000 \
  -v /opt/fowyldai/data:/app/data \
  -v /opt/fowyldai/models:/app/models \
  fowyldai/engine:1.4.0
Note the --network none flag This enforces zero network access at the Docker level — an additional layer of sovereignty enforcement beyond the engine's built-in network guard.

Verification

After any deployment method, verify the engine is operational:

# Health check
curl http://localhost:8000/health

# Sovereignty verification
curl http://localhost:8000/sovereignty/status

# Test query
curl -X POST http://localhost:8000/ask \
  -H "Content-Type: application/json" \
  -d '{"query": "Verify deployment is working"}'