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| Service | URL |
|---|---|
| Control API | http://localhost:8090 |
| Postgres | localhost:5433 |
| Redis | localhost:6380 |
| NATS | localhost:4223 |
| NATS monitor | http://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.netStart 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/metricsStart 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}/progressEnd-to-end test
bash
docker compose up -d --build
bash tests/e2e.shScale workers
bash
docker compose up -d --scale worker=4See Architecture for how jobs flow through NATS, Redis, and Postgres.