Skip to content

Quick Start

Get Fetch ML running in minutes with Docker Compose.

Prerequisites

Container Runtimes: - Docker Compose: For testing and development only - Podman: For production experiment execution

  • Docker Compose (testing only)
  • 4GB+ RAM
  • 2GB+ disk space

One-Command Setup

# Clone and start
git clone https://github.com/jfraeys/fetch_ml.git
cd fetch_ml
docker-compose up -d (testing only)

# Wait for services (30 seconds)
sleep 30

# Verify setup
curl http://localhost:9101/health

First Experiment

# Submit a simple ML job (see [First Experiment](first-experiment.md) for details)
curl -X POST http://localhost:9101/api/v1/jobs \
  -H "Content-Type: application/json" \
  -H "X-API-Key: admin" \
  -d '{
    "job_name": "hello-world",
    "args": "--echo Hello World",
    "priority": 1
  }'

# Check job status
curl http://localhost:9101/api/v1/jobs \
  -H "X-API-Key: admin"

CLI Access

# Build CLI
cd cli && zig build dev

# List jobs
./cli/zig-out/dev/ml --server http://localhost:9101 list-jobs

# Submit new job
./cli/zig-out/dev/ml --server http://localhost:9101 submit \
  --name "test-job" --args "--epochs 10"

Troubleshooting

Services not starting?

# Check logs
docker-compose logs

# Restart services
docker-compose down && docker-compose up -d (testing only)

API not responding?

# Check health
curl http://localhost:9101/health

# Verify ports
docker-compose ps

Permission denied?

# Check API key
curl -H "X-API-Key: admin" http://localhost:9101/api/v1/jobs