Make a fresh deploy (especially Docker) work with no manual steps and behave
well on real-world hosts:
- Auto-scan skips subnets larger than /20 (e.g. a docker bridge 172.17.0.0/16
= 65k hosts) so AUTO discovery no longer stalls startup or hammers the
network on any host with Docker. Manual scan shares the same MIN_SCAN_PREFIX.
- Docker: config.json is auto-seeded from config.json.example by a new
docker-entrypoint.sh and persisted on a ./data directory mount — no more
single-file bind-mount footgun, no manual cp before first run.
- Config path is overridable via ADSBIT_CONFIG (defaults to ./config.json for
bare metal; /app/data/config.json in the container).
- New /health endpoint (status/version/receivers/flights) + Docker HEALTHCHECK.
- Clean SIGTERM/SIGINT shutdown (docker stop / systemctl stop) — no traceback.
- .gitignore/.dockerignore exclude the data/ config volume.
- README/CLAUDE.md updated; VERSION bumped to 1.1.1.
Verified: image builds, fresh `docker run` seeds config and reports healthy,
oversized subnets skipped in-container, /health responds, graceful shutdown.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
- Add VERSION = "1.1.0" to server.py; print at startup, expose via public
GET /api/config, and show it in the admin header (so deployed == released
is verifiable at a glance).
- Ignore config.json in .gitignore — it holds the admin password hash and
session secret; fresh installs use config.json.example.
- README/CLAUDE.md: document the in-app pixel editor (now with shape tools,
select/move, reference overlay, custom/recent palettes), the receiver health
dashboard, 9 sprite types, and the asset cache-busting convention.
- Bump admin asset cache-bust to ?v=20260609d.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Implements credentialed admin panel and multi-step setup wizard so new
users can configure location, receivers, and preferences without editing
JSON files. Adds bcrypt password auth with session cookies, setup lockout
after first run, and expanded config schema with backward compatibility.
New files: admin/{html,css,js}, setup/{html,css,js}
Modified: server.py (auth, setup, admin APIs), index.html (dynamic title),
pixel-view.js (site/display config), requirements.txt (bcrypt),
config.json.example (full schema)
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>