Capture, diagnose, and compare GPS and sensor field tests without building a tracking backend.
Translation pending
Developer toolsTypeScript · CSSGitHub @iblhOnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
Owners of public repositories under a personal GitHub account can sign in to verify ownership and manage the introduction themselves. No administrator approval is needed.
Sign in, generate a verification file, and commit it to this repository’s default branch within 30 minutes. Files on other branches or forks do not count. Then check the file below to manage the project without administrator approval. Keep the file to retain your access.
If needed, you will go to sign-in. After signing in, return here and press your chosen verification button again.
Run /nomorevibe verify in your project folder to verify ownership and manage the introduction yourself.
Verify in one minuteAsk about other verification options
Open-source GPS and IoT device tracking console with REST and LoRaWAN ingestion.
Taken from the repository README
Loading the full README. The saved excerpt is shown below.
Open-source field testing for moving hardware. Capture GPS and arbitrary sensor telemetry, diagnose data quality, and compare hardware or firmware test runs on a fast MapLibre map.
Public Beta — v0.3.1-beta.1. uplotr is suitable for evaluation, maker field tests, and self-hosted deployments. Back up location data before upgrades. The official instance does not offer public registration or accept visitor location uploads.Read the full README ↗Open-source field testing for moving hardware. Capture GPS and arbitrary sensor telemetry, diagnose data quality, and compare hardware or firmware test runs on a fast MapLibre map.
Website · Live synthetic demo · Documentation · Discussions
Public Beta — v0.3.1-beta.1. uplotr is suitable for evaluation, maker field tests, and self-hosted deployments. Back up location data before upgrades. The official instance does not offer public registration or accept visitor location uploads.
Not included in this Beta: open registration, multi-tenant SaaS, alerts, native MQTT/Kafka adapters, public report sharing, or a commercial SLA. These are roadmap items, not advertised features.
git clone https://github.com/iblh/uplotr.git
cd uplotr
cp .env.prod.example .env
# Set strong AUTH_SECRET, DB_PASSWORD, and CRON_SECRET values in .env
docker compose -f docker-compose.prod.yml up -d
Open http://localhost:3000/login, create the owner account, then create an API key in Settings → Access and security. The full key is displayed once.
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,"metrics":{"altitude":32,"voltage":4.08}}'
See the Quick Start, Deployment Guide, and API Reference for complete instructions.
flowchart LR
D[Devices and gateways] -->|REST or LoRaWAN webhook| A[Next.js API]
A --> V[Validation, auth, rate limits]
V --> P[(PostgreSQL)]
P --> C[Private console /app]
S[Deterministic synthetic data] --> M[Public read-only demo /demo]
C --> L[MapLibre + OpenFreeMap]
M --> L
The public website and demo are isolated from private tracking data. API routes enforce their own authorization; the request proxy is used only for page navigation.
Requires Node.js 22, pnpm 10, and PostgreSQL.
pnpm install
cp .env.example .env
pnpm exec prisma migrate dev
pnpm dev
Before opening a pull request:
pnpm lint
pnpm typecheck
pnpm test
pnpm build
CI also runs real-Postgres integration tests, browser smoke tests, a production dependency audit, and a Docker build.
Internet-facing deployments should use AUTH_MODE=REQUIRED, strong unique secrets, HTTPS, a connection-pooled PostgreSQL database near the application, and regular encrypted backups. Location data is sensitive; do not attach real payloads, coordinates, credentials, or logs to public issues.
Please report suspected vulnerabilities privately as described in SECURITY.md.
Questions and ideas belong in GitHub Discussions; actionable defects belong in Issues. See CONTRIBUTING.md, CODE_OF_CONDUCT.md, and SUPPORT.md.
Licensed under Apache-2.0.