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