Deployment

Veska runs wherever Python runs. There's no proprietary cloud — you deploy it however you want, wherever you want.

Docker

Dockerfile
FROM python:3.12-slim

WORKDIR /app

COPY requirements.txt .
RUN pip install --no-cache-dir -r requirements.txt

COPY . .

# Set environment variables
ENV ANTHROPIC_API_KEY=${ANTHROPIC_API_KEY}
ENV OPENAI_API_KEY=${OPENAI_API_KEY}

CMD ["python", "main.py"]
bash
docker build -t my-agent-app .
docker run -e ANTHROPIC_API_KEY=sk-ant-... my-agent-app

AWS EC2

bash
# SSH into your instance
ssh ec2-user@your-instance

# Clone and set up
git clone https://github.com/your-org/your-app.git
cd your-app
pip install -r requirements.txt

# Set environment variables
export ANTHROPIC_API_KEY=sk-ant-...

# Run with a process manager
pip install gunicorn
gunicorn main:app --workers 4 --bind 0.0.0.0:8000

Railway / Render

Deploy directly from your Git repository:

1.Push your code to GitHub
2.Connect your repository to Railway or Render
3.Set ANTHROPIC_API_KEY and/or OPENAI_API_KEY in environment variables
4.Deploy — it auto-detects Python and runs your app

Environment variables

The only required config is your API key(s). Set them as environment variables on your platform:

.env
# Required — at least one
ANTHROPIC_API_KEY=sk-ant-...
OPENAI_API_KEY=sk-...

# Optional
VESKA_LOG_LEVEL=INFO
VESKA_STORAGE_DIR=./data

Production tips

Use persistent memory

Switch from InMemoryCache to FileCache or SQLiteMemoryStore so data survives restarts.

Enable cost tracking

Monitor token usage to avoid unexpected API bills.

Set up logging

Enable the Logger with appropriate log level for debugging production issues.

Configure crash recovery

Enable savepoints so long-running orchestrations can resume after failures.

Use the security sandbox

If agents run code or access files, set up territories and the command guard.

production.py
from veska import Orchestrator

orchestrator = Orchestrator(
    model="claude-sonnet-4-6",
    agents=[researcher, writer],
    tools=["file_manager"],

    # Production settings
    logging={"enabled": True, "level": "INFO"},
    tracking={"enabled": True},
    recovery={"enabled": True, "storage_dir": "./savepoints"},
    security={"project_root": "/app/workspace"},
)

No vendor lock-in

Veska has no proprietary cloud, no paid tiers, no usage tracking. You run it on your infrastructure and own everything.