Skip to content

Quick start

The fastest way to try Atlas is with Docker Compose.

Docker

bash
git clone https://github.com/AllanGallop/Atlas.git
cd Atlas
docker compose up --build
ServiceURL
Control APIhttp://localhost:8090
Postgreslocalhost:5433
Redislocalhost:6380
NATSlocalhost:4223
NATS monitorhttp://localhost:8223

Seed a domain

bash
curl -X POST http://localhost:8090/domains \
  -H "Content-Type: application/json" \
  -d '{"domains": ["example.com"], "collectors": ["ct", "rdap", "dns"]}'

Query intelligence

bash
curl http://localhost:8090/domains/example.com
curl http://localhost:8090/domains/example.com/subdomains
curl http://localhost:8090/domains/example.com/pivots
curl http://localhost:8090/pivots/nameserver/ns1.example.net

Start CT backfill

Populate the local CT store before subdomain lookups return useful results:

bash
curl -X POST http://localhost:8090/ct/backfill \
  -H "Content-Type: application/json" \
  -d '{"target_tlds": ["com", "io", "co.uk"], "include_readonly": true}'

Monitor progress:

bash
curl http://localhost:8090/ct/status
curl http://localhost:8090/metrics

Start a campaign

bash
curl -X POST http://localhost:8090/campaigns \
  -H "Content-Type: application/json" \
  -d '{
    "seeds": ["example.com"],
    "collectors": ["dns", "http", "tls", "ct", "rdap"],
    "limits": { "max_depth": 2, "max_entities": 5000 }
  }'

Poll progress:

bash
curl http://localhost:8090/campaigns/{campaign_id}/progress

End-to-end test

bash
docker compose up -d --build
bash tests/e2e.sh

Scale workers

bash
docker compose up -d --scale worker=4

See Architecture for how jobs flow through NATS, Redis, and Postgres.

Native tools, weird experiments, and practical performance work.