Quick start
uplotr is a self-hosted tracking console for devices that can send latitude and longitude over REST or LoRaWAN webhooks.
1. Configure the instance
git clone https://github.com/iblh/uplotr.git
cd uplotr
cp .env.prod.example .env
Generate strong values for AUTH_SECRET, DB_PASSWORD, and CRON_SECRET. Keep ingest authentication set to REQUIRED on internet-facing instances.
2. Start Docker Compose
docker compose -f docker-compose.prod.yml up -d
Open http://localhost:3000/login, create the owner account, and keep the default MapLibre + OpenFreeMap provider for a token-free start.
3. Create an API key
Open Settings → Access and security → API keys. Copy the new key immediately; the full value is shown only once.
4. Send a location
curl -X POST http://localhost:3000/api/v1/ingest \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"device_id":"tracker-01","lat":37.7749,"lon":-122.4194,"battery":98}'
Return to the console and select the new device.