Skip to content

thulasirajkomminar/flightlog

Repository files navigation

Logo
Flightlog

A simple app to log and manage your flight history.

Screenshots

Login

Dashboard

Search and Add Flight

My Flights

Getting Started

Flight Data Provider

Flightlog uses AeroDataBox via RapidAPI to fetch flight data. It calls the Get Flight on Specific Date endpoint and caches results locally in SQLite to minimize API usage.

To get an API key:

  1. Sign up at rapidapi.com
  2. Subscribe to AeroDataBox (free tier available)
  3. Copy your X-RapidAPI-Key

Configuration

Copy .env.example to .env and set the required values.

Required

Variable Description
AERODATABOX_API_KEY Your RapidAPI key from the step above
AUTH_JWT_SECRET Secret for signing JWT tokens (openssl rand -base64 32)

Optional

Variable Default Description
ENVIRONMENT production Set to development for debug info
SERVER_PORT 8080 HTTP port
LOG_LEVEL info debug, info, warn, error

Deployment

Simple Docker

Create a docker-compose.yml:

services:
  flightlog:
    image: ghcr.io/thulasirajkomminar/flightlog:latest
    env_file: .env
    ports:
      - 8080:8080
    volumes:
      - flightlog_data:/app/data
    restart: unless-stopped
volumes:
  flightlog_data:
docker compose up -d

Flightlog with Traefik

services:
  flightlog:
    container_name: flightlog
    environment:
      - AERODATABOX_API_KEY=${AERODATABOX_API_KEY}
      - AUTH_JWT_SECRET=${AUTH_JWT_SECRET}
    image: ghcr.io/thulasirajkomminar/flightlog:latest
    labels:
      - traefik.enable=true
      - traefik.http.routers.flightlog.entrypoints=websecure
      - traefik.http.routers.flightlog.rule=Host(`flightlog.example.com`)
      - traefik.http.routers.flightlog.tls=true
      - traefik.http.routers.flightlog.tls.certresolver=cloudflare
      - traefik.http.services.flightlog.loadbalancer.server.port=8080
    networks:
      - proxy
    restart: unless-stopped
    volumes:
      - /opt/docker/flightlog/data:/app/data
networks:
  proxy:
    external: true
docker compose up -d

Import & Export

Export

Head to My Flights and hit the Export button — you'll get a CSV file (flightlog-export.csv) with everything: flight details, airline info, airport data (with coordinates), times, terminals, gates, aircraft, distance. 29 columns in total.

Import

From My Flights, click Import to open the import dialog:

  1. Select source — pick your CSV format from the dropdown
  2. Upload CSV — choose your file (up to 5 MB, 100 flights per import)
  3. Preview — the dialog will tell you how many flights it found
  4. Enrich (Flighty only) — optionally pull in extra detail (gates, aircraft, actual times) for recent flights (within the last year) via AeroDataBox
  5. Import — you're done

Supported Sources

Source Description API Calls
Flighty Import from a Flighty CSV export. These only include the basics (date, airline, flight number, airports), so enrichment is available to fill in the gaps. Airport lookups + optional enrichment via AeroDataBox
Flightlog Re-import your own Flightlog export. All fields come straight from the CSV — no lookups needed. None

Tip

A handy way to migrate to a new instance: export your flights, then re-import. No API calls required.

About

✈️ A simple app to log and manage your flight history.

Topics

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors