Skip to main content

Manage

TaskCommand
Start containersdocker compose up -d --build
View logsdocker compose logs -f
Restart containersdocker compose restart
Stop containersdocker compose down
Stop and remove datadocker compose down -v
Rebuild after changesdocker compose up -d --build

Customize

Create agents/my_agent.py:
from agno.agent import Agent
from agno.models.openai import OpenAIResponses
from db import get_postgres_db

my_agent = Agent(
    id="my-agent",
    name="My Agent",
    model=OpenAIResponses(id="gpt-5.2"),
    db=get_postgres_db(),
    instructions="You are a helpful assistant.",
)
Register in app/main.py:
from agents.my_agent import my_agent

agent_os = AgentOS(
    name="AgentOS",
    agents=[knowledge_agent, mcp_agent, my_agent],
)
Restart: docker compose restart
Agno includes 100+ tool integrations. See the full list.
from agno.tools.slack import SlackTools
from agno.tools.google_calendar import GoogleCalendarTools

my_agent = Agent(
    tools=[
        SlackTools(),
        GoogleCalendarTools(),
    ],
)
Load documents for the Knowledge Agent:
docker exec -it agentos-api python -m agents.knowledge_agent
Try it:
What is Agno?
How do I create my first agent?
What documents are in your knowledge base?
Add your API key to .env and update your agent:
from agno.models.anthropic import Claude

my_agent = Agent(
    model=Claude(id="claude-sonnet-4-5"),
)
Add anthropic to pyproject.toml and regenerate requirements:
./scripts/generate_requirements.sh
docker compose up -d --build
  1. Edit pyproject.toml
  2. Regenerate requirements: ./scripts/generate_requirements.sh
  3. Rebuild: docker compose up -d --build

Local Development

Run without Docker for faster iteration:
# Install uv
curl -LsSf https://astral.sh/uv/install.sh | sh

# Set up environment
./scripts/venv_setup.sh
source .venv/bin/activate

# Start PostgreSQL (required)
docker compose up -d agentos-db

# Run AgentOS
python -m app.main

Environment Variables

VariableRequiredDefaultDescription
OPENAI_API_KEYYesOpenAI API key
DB_HOSTNolocalhostDatabase host
DB_PORTNo5432Database port
DB_USERNoaiDatabase user
DB_PASSNoaiDatabase password
DB_DATABASENoaiDatabase name
RUNTIME_ENVNodevSet to prd for production

Troubleshooting

Modify compose.yaml: change "8000:8000" to "8080:8000" under the agentos-api service ports.
Ensure PostgreSQL is running: docker compose ps. If the database isn’t ready, wait a few seconds and try again.
Check logs: docker compose logs agentos-api. Common causes: missing OPENAI_API_KEY in .env or database not yet available.