Installation¶
There are three ways to get started with Estate Sentry:
- Docker Setup (Recommended for production)
- Task Setup (Recommended for development)
- 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
Option 1: Docker Setup (Recommended for Production)¶
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.
Option 2: Task Setup (Recommended for Development)¶
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)¶
-
Navigate to API directory
cd estate-sentry-api -
Create and activate virtual environment
python -m venv .venv source .venv/Scripts/activate # On Windows Git Bash # or: .venv\Scripts\activate # On Windows CMD -
Install dependencies
pip install -r requirements.txt -
Run migrations
python manage.py migrate -
Create superuser
python manage.py createsuperuser -
Start development server
python manage.py runserver
The API will be available at http://localhost:8000.
Frontend (Estate Sentry HQ)¶
-
Navigate to HQ directory
-
Install dependencies
npm install -
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¶
- Access the API
- Visit http://localhost:8000/admin/
-
Login with your superuser credentials
-
Access the Dashboard
- Visit http://localhost:8000/hq/
-
The HQ dashboard should load
-
Run tests
task test # or manually: cd estate-sentry-api python manage.py test
Next Steps¶
- Follow the Quick Start Guide to test the API
- Check the Task Reference for available commands
- Read the API Usage Guide for endpoint documentation