Back to Documentation
Getting Started

Getting Started

This guide provides instructions for getting started with Content Atlas locally.

Quick Start

Prerequisites

  • Approved Access (Request via "Contact Us")
  • Python 3.8+
  • PostgreSQL 12+
  • Docker & Docker Compose (optional)

Installation

1

Clone the repository

Use the private repository URL provided in your welcome email.

git clone 
cd content-atlas
2

Install dependencies

pip install -r requirements.txt
3

Start PostgreSQL

docker-compose up -d db
4

Configure environment

Create .env file

echo "DATABASE_URL=postgresql://postgres:postgres@localhost:5432/datamapper" > .env
5

Run the application

uvicorn app.main:app --reload

Access the API

Console Interface

Query your database using natural language:

# Start interactive console
python -m app.console

# Or run a single query
python -m app.console "Show me all customers"

See Console Interface Guide for more details.

Docker Deployment

Quick Start with Docker Compose

# Start the complete stack
docker-compose up -d

# View logs
docker-compose logs -f

# Stop services
docker-compose down

See Deployment Guide for production deployment.

Environment Variables

Required

  • DATABASE_URL - PostgreSQL connection string

Initial admin setup

The first account created through the /register page becomes the admin. Automatic bootstrap via ADMIN_* variables has been removed; create the initial admin interactively when the app first loads.

Optional (for B2 integration)

  • STORAGE_ACCESS_KEY_ID - Storage access key ID (B2 Application Key ID, AWS Access Key, etc.)
  • STORAGE_SECRET_ACCESS_KEY - Storage secret access key (B2 Application Key, AWS Secret Key, etc.)
  • STORAGE_BUCKET_NAME - Storage bucket name
  • STORAGE_ENDPOINT_URL - Storage endpoint URL (required for B2, MinIO; optional for AWS S3)
  • STORAGE_PROVIDER - Storage provider type (e.g., "b2", "s3", "minio")

Optional (for console)

  • ANTHROPIC_API_KEY - Anthropic API key for natural language queries

Development

Running Tests

# Run tests
pytest

# Run with coverage
pytest --cov=app

# Run specific tests
pytest tests/test_api.py -v

# Skip B2 analysis tests (e.g., when B2/LLM creds unavailable)
pytest -m "not b2"

# Start development server
uvicorn app.main:app --reload

Database Reset (Development Only)

Reset the database to a clean state while preserving user accounts:

# Interactive mode with confirmation
python reset_dev_db.py

# Auto-confirm (for automation)
python reset_dev_db.py --yes

This will:

  • Drop all user-created data tables
  • Clear tracking tables (file_imports, table_metadata, import_history, import_jobs, uploaded_files)
  • Delete all files from B2 storage
  • Preserve user accounts
Production Safety: The script automatically detects and blocks production environments.

See Database Reset Guide for detailed documentation.

Ready to get started?

Schedule a demo to see Content Atlas in action.