Skip to content

Latest commit

 

History

History

README.md

Pantheon Agents - Docker Image

Docker Pulls Docker Image Size GitHub

Run Pantheon AI agents in a containerized environment with everything pre-configured.


🚀 Quick Start

docker run -it --rm \
  -e PANTHEON_MODE=standalone \
  -e OPENAI_API_KEY="sk-your-key" \
  -v $(pwd)/workspace:/workspace \
  -p 8080:8080 \
  nanguage/pantheon-agents:latest

After startup, you'll see a connection URL like this:

🔗 Full Connection URL:
   https://pantheon-ui.aristoteleo.com/#/?nats=ws://localhost:8080&service=pantheon-chatroom-abc123&auto=true

👉 Copy the URL above and paste it in your browser

Note: At least one API key is required (OpenAI, Anthropic, Gemini, etc.). Without API keys, the container will prompt for interactive configuration.


🔧 Configuration

Basic Usage

docker run -it --rm \
  -e PANTHEON_MODE=standalone \
  -v $(pwd)/workspace:/workspace \
  -p 8080:8080 \
  nanguage/pantheon-agents:latest

With API Keys

docker run -it --rm \
  -e PANTHEON_MODE=standalone \
  -e OPENAI_API_KEY="sk-your-key" \
  -e ANTHROPIC_API_KEY="sk-ant-your-key" \
  -v $(pwd)/workspace:/workspace \
  -p 8080:8080 \
  nanguage/pantheon-agents:latest

With Custom Port

docker run -it --rm \
  -e PANTHEON_MODE=standalone \
  -e NATS_EXTERNAL_PORT=9000 \
  -v $(pwd)/workspace:/workspace \
  -p 9000:8080 \
  nanguage/pantheon-agents:latest

The connection URL will automatically use port 9000 instead of 8080.

Environment Variables

Variable Description Default
PANTHEON_MODE Set to standalone for local use hub
NATS_EXTERNAL_PORT External port for NATS WebSocket 8080
OPENAI_API_KEY OpenAI API key -
ANTHROPIC_API_KEY Anthropic API key -
GEMINI_API_KEY Google Gemini API key -
DEEPSEEK_API_KEY DeepSeek API key -

📁 Workspace Directory

The container creates a workspace directory for your files:

workspace/
├── .pantheon/          # Pantheon configuration
│   ├── .env           # API keys (auto-created)
│   └── memory/        # Agent memory
├── your-code/         # Your code files
└── your-data/         # Your data files

Mount your local directory to persist data:

-v $(pwd)/workspace:/workspace

🌐 Remote Access

From Same Machine

Use localhost in the connection URL (default).

From Another Device

  1. Get your machine's IP:

    hostname -I  # Linux/macOS
    ipconfig     # Windows
  2. Replace localhost with your IP in the connection URL:

    https://pantheon-ui.aristoteleo.com/#/?nats=ws://192.168.1.100:8080&service=xxx&auto=true
    
  3. Allow port 8080 through firewall:

    sudo ufw allow 8080  # Linux

🐛 Troubleshooting

Connection URL Not Displayed

Wait 30-60 seconds for first startup, then check logs:

docker logs <container-id>

Browser Cannot Connect

  1. Verify port mapping: docker ps | grep 8080
  2. Try ws://127.0.0.1:8080 instead of ws://localhost:8080
  3. Check firewall settings
  4. Ensure no other service uses port 8080

API Keys Not Working

  1. Verify environment variables are set correctly
  2. Restart container after changing .env file
  3. Check API key validity and quota

📊 Image Information

  • Base Image: python:3.12-slim-bookworm
  • Size: ~2.5 GB (compressed: ~1.2 GB)
  • Platforms: linux/amd64, linux/arm64
  • Included: Python 3.12, NATS server, Playwright, Scientific computing stack

🏷️ Image Tags

Tag Description
latest Latest stable release
v1.0.0 Specific version (recommended for production)
develop Development branch

Recommended for production:

docker pull nanguage/pantheon-agents:v1.0.0

🔗 Links


📝 Advanced: Hub Mode

For production Kubernetes deployments with centralized NATS server:

docker run -d \
  -e ID_HASH=agent-001 \
  -e NATS_SERVERS=nats://hub-nats:4222 \
  nanguage/pantheon-agents:latest

See full documentation for details.