Skip to content

Quick Start

Get up and running with HealthArchive in 5 minutes.

What is HealthArchive?

HealthArchive is a web archiving service that preserves Canadian health government sources (Health Canada, PHAC). It crawls, indexes, and makes searchable snapshots of public health information for research and accountability.

Choose Your Path

Pick the guide that matches your role:

👤 I'm an Operator

Goal: Deploy, monitor, and maintain the production system.

  1. Read the Production Runbook for deployment setup
  2. Review Operator Responsibilities for your must-do checklist
  3. Bookmark Incident Response for emergencies

Quick Deploy:

# On the VPS
cd /opt/healtharchive
./scripts/vps-deploy.sh --apply --baseline-mode live


💻 I'm a Developer

Goal: Contribute code, fix bugs, add features.

  1. Clone and setup:

    git clone https://github.com/jerdaw/healtharchive.git
    cd healtharchive
    make venv
    

  2. Configure environment:

    cp .env.example .env
    source .env
    

  3. Run database migrations:

    alembic upgrade head
    

  4. Start the API:

    uvicorn ha_backend.api:app --reload --port 8001
    

  5. Run tests:

    make ci
    

Next: Follow the Architecture Walkthrough tutorial to understand how everything fits together.


🔧 I'm an API Consumer / Researcher

Goal: Search the archive and retrieve historical snapshots.

API Base URL: https://api.healtharchive.ca

Quick Examples:

# Search for content about vaccines
curl "https://api.healtharchive.ca/api/search?q=vaccines&sort=relevance"

# Get archive stats
curl "https://api.healtharchive.ca/api/stats"

# List all sources
curl "https://api.healtharchive.ca/api/sources"

# Get a specific snapshot
curl "https://api.healtharchive.ca/api/snapshot/42"

Interactive API Docs: api.healtharchive.ca (OpenAPI/Swagger UI)

Next: Read the API Consumer Guide for detailed examples and use cases.


Project Repositories

HealthArchive now uses a single app monorepo plus a separate datasets repo:

See the Project Overview for detailed navigation.


Common Tasks

Task Command
Run all checks make ci
Run frontend checks make frontend-ci
Sync generated API contract make contract-sync
Start API server uvicorn ha_backend.api:app --reload --port 8001
Start worker healtharchive start-worker --poll-interval 30
Create a crawl job healtharchive create-job --source hc
Run a job healtharchive run-db-job --id 42
Index WARCs healtharchive index-job --id 42
List jobs healtharchive list-jobs
Serve docs locally make docs-serve

Need Help?


What's Next?

For Operators

  1. Complete production deployment
  2. Set up monitoring and alerts
  3. Review the Ops Cadence Checklist

For Developers

  1. Complete Your First Contribution tutorial
  2. Read the Architecture Walkthrough
  3. Review Testing Guidelines

For Researchers

  1. Explore the API Documentation
  2. Download datasets from healtharchive-datasets
  3. Read about Data Handling