parent
13e7d5b20b
commit
6f5496a48d
@ -0,0 +1,71 @@
|
||||
version: '3.8'
|
||||
|
||||
services:
|
||||
swarms:
|
||||
build:
|
||||
context: .
|
||||
dockerfile: Dockerfile
|
||||
image: swarms:latest
|
||||
container_name: swarms-container
|
||||
environment:
|
||||
- PYTHONUNBUFFERED=1
|
||||
- PYTHONPATH=/app
|
||||
# Add your API keys here or use .env file
|
||||
# - OPENAI_API_KEY=${OPENAI_API_KEY}
|
||||
# - ANTHROPIC_API_KEY=${ANTHROPIC_API_KEY}
|
||||
# - GOOGLE_API_KEY=${GOOGLE_API_KEY}
|
||||
volumes:
|
||||
- .:/app
|
||||
- ./data:/app/data
|
||||
- ./models:/app/models
|
||||
working_dir: /app
|
||||
command: python test_docker.py
|
||||
restart: unless-stopped
|
||||
healthcheck:
|
||||
test: ["CMD", "python", "-c", "import swarms; print('Health check passed')"]
|
||||
interval: 30s
|
||||
timeout: 10s
|
||||
retries: 3
|
||||
start_period: 40s
|
||||
|
||||
swarms-dev:
|
||||
build:
|
||||
context: .
|
||||
dockerfile: Dockerfile
|
||||
image: swarms:dev
|
||||
container_name: swarms-dev-container
|
||||
environment:
|
||||
- PYTHONUNBUFFERED=1
|
||||
- PYTHONPATH=/app
|
||||
volumes:
|
||||
- .:/app
|
||||
- ./data:/app/data
|
||||
- ./models:/app/models
|
||||
working_dir: /app
|
||||
command: bash
|
||||
stdin_open: true
|
||||
tty: true
|
||||
restart: unless-stopped
|
||||
|
||||
swarms-api:
|
||||
build:
|
||||
context: .
|
||||
dockerfile: Dockerfile
|
||||
image: swarms:api
|
||||
container_name: swarms-api-container
|
||||
environment:
|
||||
- PYTHONUNBUFFERED=1
|
||||
- PYTHONPATH=/app
|
||||
volumes:
|
||||
- .:/app
|
||||
working_dir: /app
|
||||
ports:
|
||||
- "8000:8000"
|
||||
command: python -m uvicorn main:app --host 0.0.0.0 --port 8000 --reload
|
||||
restart: unless-stopped
|
||||
depends_on:
|
||||
- swarms
|
||||
|
||||
networks:
|
||||
default:
|
||||
name: swarms-network
|
@ -0,0 +1,65 @@
|
||||
#!/usr/bin/env python3
|
||||
"""
|
||||
Test script to verify Swarms installation in Docker container.
|
||||
"""
|
||||
|
||||
import sys
|
||||
from typing import Dict, Any
|
||||
|
||||
def test_swarms_import() -> Dict[str, Any]:
|
||||
"""
|
||||
Test that swarms can be imported and basic functionality works.
|
||||
|
||||
Returns:
|
||||
Dict[str, Any]: Test results
|
||||
"""
|
||||
try:
|
||||
import swarms
|
||||
print(f"✅ Swarms imported successfully. Version: {swarms.__version__}")
|
||||
|
||||
# Test basic functionality
|
||||
from swarms import Agent
|
||||
print("✅ Agent class imported successfully")
|
||||
|
||||
return {
|
||||
"status": "success",
|
||||
"version": swarms.__version__,
|
||||
"message": "Swarms package is working correctly"
|
||||
}
|
||||
|
||||
except ImportError as e:
|
||||
print(f"❌ Failed to import swarms: {e}")
|
||||
return {
|
||||
"status": "error",
|
||||
"error": str(e),
|
||||
"message": "Swarms package import failed"
|
||||
}
|
||||
except Exception as e:
|
||||
print(f"❌ Unexpected error: {e}")
|
||||
return {
|
||||
"status": "error",
|
||||
"error": str(e),
|
||||
"message": "Unexpected error occurred"
|
||||
}
|
||||
|
||||
def main() -> None:
|
||||
"""Main function to run tests."""
|
||||
print("🐝 Testing Swarms Docker Image...")
|
||||
print("=" * 50)
|
||||
|
||||
# Test Python version
|
||||
print(f"Python version: {sys.version}")
|
||||
|
||||
# Test swarms import
|
||||
result = test_swarms_import()
|
||||
|
||||
print("=" * 50)
|
||||
if result["status"] == "success":
|
||||
print("🎉 All tests passed! Docker image is working correctly.")
|
||||
sys.exit(0)
|
||||
else:
|
||||
print("💥 Tests failed! Please check the Docker image.")
|
||||
sys.exit(1)
|
||||
|
||||
if __name__ == "__main__":
|
||||
main()
|
Loading…
Reference in new issue