1. Clone
git clone https://github.com/simplifaisoul/osiris.git && cd osiris
git clone https://github.com/simplifaisoul/osiris.git && cd osiris
npm install && npm run dev → http://localhost:3000. Production: npm run build && npm start. Tests: npm test (vitest); live feed tests via npm run test:live.
cp .env.example .env && docker compose up -d. Container listens on 3000; OSIRIS_PORT maps the host port.
Docs say most keys in .env.example are reserved/future; leave SCANNER_KEY empty to disable RECON active scanning (/api/scanner returns 503). Optional keys (FIRMS, OpenSky, N2YO, AIS) only raise rate limits—public keyless feeds work without them. Generate secrets with openssl rand -hex 32; never commit a filled .env.
Self-hosting is not “free forever ops”: you pay compute, bandwidth, and any optional API quotas. Upstream CORS and rate limits still apply. This page is not official install support.
How the CCTV layer works on the map.