If you have flown DJI drones for any length of time, you already know the feeling: your flight history is technically “there,” but not really usable. Logs live in different folders, different formats, different apps, and the moment you want to answer a simple question like “Which battery is aging fastest?” or “How high was that windy-lake flight last October?” you end up digging through exports, screenshots, and half-remembered filenames.

OpenDroneLog is built for that exact mess. It is a high-performance flight log analyzer and dashboard that lets you organize and study DJI flight logs plus Litchi CSV exports in one private place. It is available as a Tauri v2 desktop app and also as a Docker-deployable web app, with DuckDB and React doing the heavy lifting under the hood.

What is OpenDroneLog

At its core, OpenDroneLog is a “bring your own logs” dashboard. You import DJI logs (including .txt flight logs) and Litchi CSV exports, and it builds a local database so you can browse flights, filter them, replay them on a map, and dig into telemetry without shipping your data to somebody else’s cloud. The project calls this “local-first storage,” with all data kept in a local DuckDB database and no cloud upload required for normal use.

The problem it solves

OpenDroneLog turns raw flight records into something you can actually learn from:

  • Interactive flight maps with terrain, satellite toggles, and replay controls (including telemetry overlays).
  • Telemetry charts for speed, height, battery health, cell voltages, GPS, distance-to-home, and more, with zoomable timelines.
  • Smart deduplication so repeated imports do not balloon your library, using identifiers like drone serial, battery serial, and start time.
  • Practical “fleet management” features like per-battery health tracking and maintenance tracking with thresholds.
  • Exports in common formats (CSV, JSON, GPX, KML), plus shareable report outputs like a printable HTML flight report.

The result is less “I have logs” and more “I can answer questions about my flying.”

How it can be self-hosted

OpenDroneLog’s self-hosted mode is a real web deployment, not a flimsy demo. The Docker version uses an Axum REST backend, with Nginx serving the frontend and proxying API requests.

Get started with Docker Compose:

services:
  open-dronelog:
    image: ghcr.io/arpanghosh8453/open-dronelog:latest
    container_name: open-dronelog
    hostname: open-dronelog
    ports:
      - "8080:80"
    volumes:
      - drone-data:/data/drone-logbook

      # Uncomment and set your sync folder path to enable automatic log import
      # - /path/to/your/drone/logs/on/host/device:/sync-logs:ro

      # Uncomment to persist uploaded files to a host folder
      # - /path/to/uploaded/files:/data/drone-logbook/uploaded

    environment:
      - DATA_DIR=/data/drone-logbook
      - RUST_LOG=info
      - KEEP_UPLOADED_FILES=true

      # Uncomment to enable automatic sync from mounted folder
      # - SYNC_LOGS_PATH=/sync-logs

      # Uncomment to enable scheduled sync (cron expression, default: every 8 hours)
      # - SYNC_INTERVAL=0 0 */8 * * *

    restart: unless-stopped

volumes:
  drone-data:

The quick-start path is straightforward: run the container, map a port, and mount a persistent volume so your DuckDB database survives upgrades and restarts. The project documents a named volume mapped to an internal data directory, and it explicitly notes that your data persists unless you delete the volume.

If you want the “drop logs into a folder and let it ingest automatically” workflow, the Docker setup supports mounting a read-only sync folder and enabling scheduled sync with a cron expression via environment variables like SYNC_LOGS_PATH and SYNC_INTERVAL.

A small, important footnote

OpenDroneLog is licensed under AGPL-3.0, which matters if you modify and run it as a network service. Also, the README includes guidance for generating your own DJI Developer API key if you prefer not to rely on a bundled key.

If you have ever wanted a private, searchable “flight brain” you can run on your own machine, this project is aiming directly at that need, with enough polish that it feels like a tool you can actually live in, not just test once and forget.

GitHub - arpanghosh8453/open-dronelog: Drone Log analyzer: A high-performance universal dashboard application for organizing and analyzing DJI/Litchi flight logs privately in one place. Built with Tauri v2, DuckDB, and React.
Drone Log analyzer: A high-performance universal dashboard application for organizing and analyzing DJI/Litchi flight logs privately in one place. Built with Tauri v2, DuckDB, and React. - arpangho…
DroneLog | Free Open Source Flight Log Viewer - Open DroneLog
Free, open-source drone flight log analyzer for DJI and Litchi. Analyze telemetry, replay 3D flights, track battery health with privacy-first local storage. Desktop & Docker available.