Installation
This guide will help you install ArgusAI on your system.
Choose Your Installation Method
| Method | Best For | Requirements |
|---|---|---|
| Docker Compose | Single server, Easy setup | Docker, Docker Compose |
| Kubernetes | Scalable clusters, Fine control | Kubernetes 1.25+, kubectl |
| Helm Chart | Template-based K8s, GitOps | Kubernetes 1.25+, Helm 3.10+ |
| Manual Installation | Development, Customization | Python 3.11+, Node.js 18+ |
Recommended
- Single server: Use Docker Compose for the easiest setup
- Kubernetes clusters: Use Helm Chart for customizable deployments
- CI/CD pipelines: Pre-built images are available from GitHub Container Registry
Prerequisites (Manual Installation)
Before installing ArgusAI manually, ensure you have the following:
- Python 3.11+ - Required for the backend
- Node.js 18+ - Required for the frontend
- Git - For cloning the repository
- SQLite or PostgreSQL - Database (SQLite is default)
Quick Installation (Script)
# Clone the repository
git clone https://github.com/project-argusai/ArgusAI.git
cd argusai
# Run the installation script
./scripts/install.sh
The script will:
- Create a Python virtual environment
- Install backend dependencies
- Install frontend dependencies
- Set up the database
- Optionally configure SSL certificates
Manual Installation
Backend Setup
cd backend
# Create virtual environment
python3 -m venv venv
source venv/bin/activate
# Install dependencies
pip install -r requirements.txt
# Set up database
alembic upgrade head
Frontend Setup
cd frontend
# Install dependencies
npm install
# Build for production
npm run build
Environment Configuration
Create a .env file in the backend directory:
# Database
DATABASE_URL=sqlite:///./data/app.db
# Encryption key (generate with: python -c "from cryptography.fernet import Fernet; print(Fernet.generate_key().decode())")
ENCRYPTION_KEY=your-encryption-key-here
# CORS origins
CORS_ORIGINS=http://localhost:3000,http://localhost:8000
# Debug mode
DEBUG=True
LOG_LEVEL=INFO
Running ArgusAI
Development Mode
# Backend (terminal 1)
cd backend
source venv/bin/activate
uvicorn main:app --reload
# Frontend (terminal 2)
cd frontend
npm run dev
Production Mode
# Backend
cd backend
source venv/bin/activate
uvicorn main:app --host 0.0.0.0 --port 8000
# Frontend
cd frontend
npm run build
npm run start
Next Steps
Deployment Options
- Docker Compose - Single-server deployment with Docker Compose
- Kubernetes - Deploy with raw Kubernetes manifests
- Helm Chart - Template-based Kubernetes deployment
- CI/CD Pipeline - Automated builds and deployments
Configuration
- Configuration - Configure AI providers and cameras
- UniFi Protect - Set up UniFi camera integration