Get the Vantrexia Remote Patient Monitoring platform running on your local machine in under 5 minutes. This guide uses Docker Compose to spin up the entire stack — backend API, frontend dashboard, PostgreSQL database, and Redis cache — with a single command.

Before You Begin

This quick start guide is designed for local development and evaluation. For production deployments with HIPAA-compliant infrastructure, see the Deployment Guide.

Prerequisites

Ensure the following tools are installed on your machine before proceeding:

Requirement Minimum Version Verify Command
Docker 20.10+ docker --version
Docker Compose 2.0+ docker compose version
Git 2.30+ git --version
Available RAM 4 GB
Available Disk 2 GB
Docker Desktop Users

If you are on macOS or Windows, ensure Docker Desktop is running and allocated at least 4 GB of memory. You can adjust this in Docker Desktop → Settings → Resources.

Step 1: Clone the Repository

Clone the Vantrexia monorepo from GitHub and navigate into the project directory:

Terminal
git clone https://github.com/highlandpc/Vantrexia.git
cd Vantrexia

Step 2: Configure Environment Variables

Copy the example environment files for the backend and frontend. The defaults are pre-configured for local development:

Terminal
# Copy the root environment template
cp .env.example .env

# Edit .env and set the required values:
# SECRET_KEY, POSTGRES_PASSWORD, REDIS_PASSWORD

The .env file at the project root is required. At minimum, set SECRET_KEY, POSTGRES_PASSWORD, and REDIS_PASSWORD. The frontend reads VITE_API_BASE_URL from the docker-compose environment. See the Configuration Guide for details on every variable.

Step 3: Start All Services

Launch the full stack using Docker Compose. This will pull the required images, build the application containers, and start all services:

Terminal
docker compose up -d

This starts the following services:

Service Port Description
frontend 3000 React dashboard (Vite dev server)
backend 8000 Django REST API
postgres 5432 PostgreSQL 15 database
redis 6379 Redis cache & Celery broker
celery Async task processing
celery-beat Scheduled task runner

First-time startup takes 2–4 minutes depending on your internet connection. Subsequent starts are much faster due to cached Docker layers.

Step 4: Run Migrations & Create Superuser

The backend container automatically runs migrations and creates default roles on startup via start.sh. To create your admin account:

Terminal
# Create a superuser for the admin panel
docker compose exec backend python manage.py createsuperuser

Follow the prompts to set your admin email, username, and password. This account gives you full access to the Django admin panel and all API endpoints.

Automatic Setup

The backend entrypoint runs migrate and create_default_roles automatically on container start. You can also set DJANGO_SUPERUSER_EMAIL, DJANGO_SUPERUSER_USERNAME, and DJANGO_SUPERUSER_PASSWORD environment variables to auto-create the superuser.

Step 5: Verify the Installation

Confirm everything is running by checking the application endpoints:

Health Check

Terminal
curl http://localhost:8000/health/

Expected response (HTTP 200 if all checks pass):

JSON
{
  "DatabaseBackend": "working",
  "CacheBackend": "working"
}

A more detailed status is available at /api/v1/monitoring/health/ and /api/v1/monitoring/status/.

Access the Applications

Application URL Credentials
Provider Dashboard http://localhost:3000 Your superuser credentials
API Root http://localhost:8000/api/v1/ JWT token (see below)
Django Admin http://localhost:8000/admin/ Your superuser credentials
API Documentation (Swagger) http://localhost:8000/api/docs/ Admin/staff login required

Get a JWT Token

Authenticate against the API to obtain an access token for testing endpoints:

Terminal
curl -X POST http://localhost:8000/api/v1/auth/login/ \
  -H "Content-Type: application/json" \
  -d '{"email": "admin@yourpractice.com", "password": "your-password"}'

The response includes a tokens object with access (valid for 15 minutes) and refresh (valid for 1 day) tokens. Use the access token in the Authorization: Bearer <token> header for subsequent API requests. If 2FA is enabled for the user, a totp_token field is also required.

Stopping Services

To stop all running containers without removing data:

Terminal
# Stop services (preserves data volumes)
docker compose stop

# Or stop and remove containers (preserves data volumes)
docker compose down

# Stop and remove everything including data volumes
docker compose down -v
Data Warning

Using docker compose down -v will permanently delete all database data, uploaded files, and Redis cache. Use this only when you want a completely clean slate.

Next Steps

Now that Vantrexia is running locally, here are the recommended next steps: