Installation

There are three ways to get started with Estate Sentry:

  1. Docker Setup (Recommended for production)
  2. Task Setup (Recommended for development)
  3. Manual Setup (For those who prefer full control)

Prerequisites

  • Python 3.10 or higher
  • Node.js 18 or higher
  • Task (optional, for easier development)
  • Install: npm install -g @go-task/cli
  • See: taskfile.dev/installation

The fastest way to get Estate Sentry running with production databases (PostgreSQL + Neo4j):

# 1. Copy and configure environment
cp .env.example .env

# 2. Build and start all services
task docker:build
task docker:up

# 3. Run migrations
task db:migrate:docker

# 4. Create admin user
docker-compose exec api python manage.py createsuperuser

Your services will be available at:

  • API: http://localhost:8000
  • Dashboard: http://localhost:8000/hq/
  • Neo4j Browser: http://localhost:7474

See Docker Setup for complete Docker documentation.

Using Task provides the easiest development experience:

# Clone the repository
git clone https://github.com/yourusername/estate-sentry.git
cd estate-sentry

# Complete setup (API + Frontend)
task setup

# Create admin user
task api:superuser

# Start both servers
task dev

The API and the HQ dashboard are both served at http://localhost:8000, with the dashboard at /hq/.

Option 3: Manual Setup

Backend (Django API)

  1. Navigate to API directory

    cd estate-sentry-api

  2. Create and activate virtual environment

    python -m venv .venv
    source .venv/Scripts/activate  # On Windows Git Bash
    # or: .venv\Scripts\activate  # On Windows CMD

  3. Install dependencies

    pip install -r requirements.txt

  4. Run migrations

    python manage.py migrate

  5. Create superuser

    python manage.py createsuperuser

  6. Start development server

    python manage.py runserver

The API will be available at http://localhost:8000.

Frontend (Estate Sentry HQ)

  1. Navigate to HQ directory

  2. Install dependencies

    npm install

  3. Start development server

    npm run dev

The dashboard will be available at http://localhost:8000/hq/.

Note that it must be served by an ASGI server (task hq:dev), not runserver: the MJPEG and SSE endpoints hold a connection open per viewer, which under WSGI pins one worker each.

Verify Installation

  1. Access the API
  2. Visit http://localhost:8000/admin/
  3. Login with your superuser credentials

  4. Access the Dashboard

  5. Visit http://localhost:8000/hq/
  6. The HQ dashboard should load

  7. Run tests

    task test
    # or manually:
    cd estate-sentry-api
    python manage.py test

Next Steps