Files
ADS-Bit/README.md
T
root b271c15267 Add Docker Compose and Podman support for containerized deployment
Adds Dockerfile, docker-compose.yml, and .dockerignore to enable
running ADS-Bit in a container with host networking for LAN receiver
auto-scanning. Bind mounts persist config, sprites, and backgrounds
across container recreation. Updates README with usage instructions.

Closes #4

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-06-08 13:52:57 -07:00

165 lines
4.3 KiB
Markdown

# ADS-Bit
A retro SNES-style side-view flight tracker that displays ADS-B aircraft data with custom pixel art sprites.
![ADS-Bit Screenshot](screenshots/screenshot.png)
## Features
- Real-time aircraft tracking via ADS-B receivers
- Custom pixel art sprites for 6 aircraft types (small prop, regional jet, narrow body, wide body, heavy, helicopter)
- Animated sun and moon with accurate astronomical positions
- Dynamic sky colors based on time of day
- Weather visualization with cloud sprites
- Directional view (N/E/S/W) with themed backgrounds
- Auto-discovery of ADS-B receivers on your network
- Canvas-based 10 FPS retro rendering
- Admin panel with password authentication
- First-run setup wizard
## Quick Start
```bash
# Clone the repository
git clone https://gitea.chops.one/allen/ADS-Bit.git
cd ADS-Bit
# Install dependencies
pip install -r requirements.txt
# Start the server
python3 server.py
```
On first run, visit http://localhost:2001 and the setup wizard will guide you through configuration.
## Docker / Podman
### Prerequisites
- [Docker](https://docs.docker.com/get-docker/) with Compose V2, **or** [Podman](https://podman.io/) with `podman-compose`
### First Run
```bash
# Create a config file (the setup wizard runs if you skip this)
cp config.json.example config.json
# Build and start
docker compose up -d
```
The web UI is available at http://localhost:2001.
### Useful Commands
```bash
# View logs
docker compose logs -f
# Stop
docker compose down
# Rebuild after a git pull
docker compose build && docker compose up -d
```
### Podman
The same `docker-compose.yml` works with Podman:
```bash
podman-compose up -d
```
On SELinux systems (Fedora, RHEL), add `:Z` to each volume mount in `docker-compose.yml` so containers can access the bind-mounted files.
### Data Persistence
The following paths are bind-mounted from the repo directory and persist across container recreation:
| Path | Contents |
|------|----------|
| `config.json` | Server configuration and credentials |
| `images/` | Aircraft and UI sprites (including uploads) |
| `backgrounds/` | Theme background images (including custom themes) |
Host networking (`network_mode: host`) is used so the server can auto-scan your LAN for ADS-B receivers.
## Requirements
- Python 3.8+
- ADS-B receiver providing SBS/BaseStation format on port 30003 (dump1090, readsb, etc.)
- Modern web browser with Canvas support
## Configuration
ADS-Bit uses a first-run setup wizard to configure your installation. You can also edit `config.json` directly:
```json
{
"receivers": "AUTO",
"receiver_port": 30003,
"location": {
"name": "My Location",
"lat": 36.2788,
"lon": -115.2283
},
"web_port": 2001,
"theme": "desert"
}
```
**Important:** Set your `location.lat` and `location.lon` for accurate weather and sun/moon positioning.
See [CONFIG.md](CONFIG.md) for full configuration options including custom backgrounds and running as a service.
## Controls
- **Arrow Keys / A/D**: Rotate view direction
- View cycles through North, East, South, West
- Click aircraft in sidebar to highlight
## Aircraft Types
| Type | Detection |
|------|-----------|
| Helicopter | Low altitude + slow speed |
| Heavy (747/A380) | High altitude or specific callsigns |
| Wide Body | Very high altitude/speed |
| Narrow Body | Default commercial |
| Regional Jet | Regional carrier callsigns or lower altitude |
| Small Prop | N-prefix callsigns or very low/slow |
## Custom Backgrounds
Create backgrounds for your location:
1. Add 4 directional images to `backgrounds/custom/` (north.png, east.png, south.png, west.png)
2. Set `"theme": "custom"` in config.json
3. Restart the server
See [CONFIG.md](CONFIG.md) for image specifications and tips.
## Running as a Service
To auto-start on boot, see the systemd service instructions in [CONFIG.md](CONFIG.md#running-as-a-service-auto-start).
## Compatible Receivers
Works with any receiver providing SBS/BaseStation format on port 30003:
- dump1090 / dump1090-fa / dump1090-mutability
- readsb
- ADS-B Exchange feeders
- FlightAware PiAware
- Any SBS1 compatible receiver
## License
MIT License - see [LICENSE](LICENSE) for details.
## Credits
- Aircraft and environment sprites generated with AI assistance
- Weather data from [Open-Meteo](https://open-meteo.com/) (free, no API key required)