Cómo instalar Jetlog en Docker - Personal Flight Tracker en Docker - Registrador de vuelos autohospedado

Jetlog | Flight Tracker | Docker | Self-Hosted | Personal

Jetlog en Docker: Registrador de vuelos personal autohospedado. Mapa mundial de vuelos, estadísticas, multi-usuario, import/export, privacidad garantizada 🛫✈️

Jetlog es un flight tracker personal autohospedado. Visualiza todos tus vuelos en mapa mundial. Estadísticas detalladas (distancia, altitud, duraciones). Añade, edita, elimina vuelos manualmente. Soporte multi-usuario. Import desde MyFlightRadar24, CSV. Export a CSV, iCal. Autenticación segura. 100% privacidad en tu homelab. FastAPI + React + SQLite + TailwindCSS. GPL-2.0 open source.

¿Qué es Jetlog?


Jetlog es un registrador de vuelos personal autohospedado que permite registrar, visualizar y gestionar todos tus vuelos en un mapa mundial interactivo, con estadísticas detalladas, soporte multi-usuario, y opciones de import/export, garantizando 100% privacidad sin depender de aplicaciones terceras. Ideal para pilotos, viajeros frecuentes y entusiastas de aviación.

Propuesta clave: Flight tracker personal fully self-hosted. Mapa mundial interactivo (Leaflet + GeoJSON). Visualizar todos tus vuelos históricos. Estadísticas: distancia total, altitud, duración, aeropuertos visitados. Añadir vuelos manualmente (fecha, origen, destino, aeronave, notas). Editar/eliminar vuelos. Multi-usuario con autenticación segura. Import desde MyFlightRadar24, CSV personalizado. Export a CSV, iCal (para calendarios). API externa opcional (adsbdb flight data). Single source of truth en SQLite. Responsive design mobile/desktop. FastAPI backend, React frontend. Zero cloud, zero tracking. 100% privacidad. GPL-2.0 open source. Perfecto para homelabs.

Para aviadores: Registra todos tus vuelos. Visualiza mapa mundial. Estadísticas personales. Control total privacidad. Sin ads, sin suscripción.

Características principales

Mapa mundial interactivo

Visualiza todos tus vuelos en mapa. Zoom, pan, markers interactivos. GeoJSON world borders.

Estadísticas detalladas

Distancia total volada, altitud máxima, duración promedio, aeropuertos visitados.

Gestión vuelos

Añadir, editar, eliminar vuelos. Campos: fecha, origen, destino, aeronave, notas.

Multi-usuario seguro

Autenticación integrada. Múltiples usuarios independientes. Control acceso.

Import automático

Import desde MyFlightRadar24, CSV personalizado. Importa histórico vuelos.

Export flexible

Export a CSV (backup). Export a iCal (añade vuelos a calendario).

Responsive design

Mobile-first. Funciona perfecto en smartphone, tablet, desktop.

100% privacidad

Self-hosted. Sin cloud. Sin tracking. Sin ads. Control total datos.

Requisitos del sistema

  • Docker & Docker Compose v2+
  • 512 MB - 2 GB RAM mínimo (aplicación ligera)
  • 1 GB espacio disco (SQLite database muy pequeño)
  • Puerto TCP disponible: 3000 (configurable)
  • CPU: 1+ core (muy ligero)
  • Acceso internet (opcional: para import flights, external APIs)
Muy ligero: Jetlog consume muy pocos recursos. Perfecto para Raspberry Pi, VPS pequeño, homelab limitado. SQLite ultra-eficiente.

Estructura directorios /mnt/media

Jetlog necesita solo una carpeta pequeña:

/mnt/media/jetlog/ ├── jetlog.db # SQLite database (vuelos) └── config/ # Configuración (si se usa)

Instalación con Docker Compose

Paso 1: Preparar estructura directorios

# Crear carpeta Jetlog sudo mkdir -p /mnt/media/jetlog # Permisos sudo chown -R 1000:1000 /mnt/media/jetlog sudo chmod -R 755 /mnt/media/jetlog

Paso 2: Crear docker-compose.yml

mkdir -p ~/jetlog && cd ~/jetlog cat > docker-compose.yml << 'DOCKER' version: '3.8' services: jetlog: image: pbogre/jetlog:latest container_name: jetlog restart: unless-stopped ports: - "3000:3000" environment: - JETLOG_PORT=3000 - SECRET_KEY=tuLongaYRandomStringDe123Caracteres! - TZ=Europe/Madrid - ENABLE_EXTERNAL_APIS=true volumes: - /mnt/media/jetlog:/data DOCKER

Paso 3: Generar SECRET_KEY seguro

# Genera una string segura para SECRET_KEY python3 -c "import secrets; print(secrets.token_urlsafe(32))" # Copia el resultado y reemplaza "tuLongaYRandomStringDe123Caracteres!" en docker-compose.yml

Paso 4: Iniciar Jetlog

docker compose up -d # Espera ~5 segundos para que inicie docker compose ps # Debería mostrar jetlog en estado "Up"

Acceder a Jetlog

🛫 Jetlog Web UI: http://localhost:3000

Credenciales por defecto

  • Usuario: admin
  • Contraseña: admin
⚠️ IMPORTANTE: Cambia la contraseña admin después del primer login! Settings → Change Password.
💡 Desde otros dispositivos: Usa la IP de tu servidor:
http://192.168.1.100:3000 (reemplaza con tu IP)
Para obtener tu IP: hostname -I

Primeros pasos

1. Login y cambiar contraseña

  1. Abre http://localhost:3000
  2. Login: usuario admin, contraseña admin
  3. Ve a Settings → Change Password
  4. Establece contraseña nueva segura

2. Explorar interfaz

  1. Home: Resumen estadísticas personales
  2. Map: Visualiza todos tus vuelos en mapa mundial
  3. All Flights: Lista detallada de vuelos
  4. Settings: Configuración cuenta, password, preferencias

3. Agregar vuelo manualmente

  1. En lista de vuelos, click "Add Flight"
  2. Rellena campos:
    • Date: fecha vuelo
    • Departure: aeropuerto salida (código IATA, ej: MAD)
    • Arrival: aeropuerto llegada (código IATA, ej: BCN)
    • Aircraft: tipo aeronave (opcional)
    • Notes: notas adicionales (opcional)
  3. Click "Add Flight" → se añade a tu historial
  4. Mapa se actualiza automático

4. Import vuelos desde CSV

  1. Prepara archivo CSV con formato:
    # Ejemplo CSV format date,departure,arrival,aircraft,notes 2024-01-15,MAD,BCN,EC-JXX,Vuelo 1234 2024-02-20,BCN,CDG,EC-JXX,Vuelo 2345
  2. En Settings → Import, selecciona archivo CSV
  3. Jetlog importa automático todos los vuelos
  4. Verifica mapa que se agregaron correctamente

5. Import desde MyFlightRadar24

  1. Ve a MyFlightRadar24.com, exporta tu historial vuelos (CSV)
  2. En Jetlog Settings → Import, selecciona "MyFlightRadar24"
  3. Sube el archivo
  4. Jetlog mapea automático campos y importa

6. Ver estadísticas

  1. Home → muestra resumen personal:
    • Total flights: cuántos vuelos registrados
    • Total distance: km totales volados
    • Total time: horas totales vuelo
    • Highest altitude: altitud máxima alcanzada
    • Unique airports: aeropuertos únicos visitados
  2. Click en cualquier estadística para detalles

7. Visualizar mapa mundial

  1. Click "Map" → mapa mundial interactivo
  2. Se muestran todos tus vuelos como líneas origen → destino
  3. Markers en aeropuertos visitados
  4. Zoom/pan para ver detalles
  5. Click en vuelo para ver detalles (fecha, aeronave, etc)

8. Export datos

  1. Settings → Export
  2. CSV Export: descarga todos tus vuelos como CSV (backup)
  3. iCal Export: añade todos tus vuelos a calendario (compatible Apple Calendar, Google Calendar, Outlook)

9. Multi-usuario (agregar más usuarios)

  1. Admin panel → Users
  2. Click "Add User"
  3. Especifica username, email, password
  4. Nuevo usuario puede login independiente
  5. Cada usuario tiene su propio historial vuelos

Casos de uso

  • Pilotos privados: Registra todas tus horas de vuelo. Logbook autohospedado.
  • Viajeros frecuentes: Visualiza todos tus vuelos históricos. Estadísticas de viajes.
  • Entusiastas aviación: Colecciona aeropuertos visitados. Mapa mundial interactivo.
  • Privacidad: Sin cloud. Sin tracking. Sin depender de apps terceras.
  • Homelabs: Ultra-ligero. Perfecto para Raspberry Pi, VPS pequeño.

Configuración avanzada

Variables de entorno

  • JETLOG_PORT: Puerto web (default: 3000)
  • SECRET_KEY: String segura para autenticación (CAMBIAR)
  • ENABLE_EXTERNAL_APIS: true/false (default: true) - usa adsbdb para fetch flights automático

Ejecutar bajo path prefix (ej: /jetlog)

environment: - JETLOG_PATH_PREFIX=/jetlog # Después accede http://localhost:3000/jetlog

Privacy: deshabilitar external APIs

environment: - ENABLE_EXTERNAL_APIS=false # Jetlog no contactará servicios externos (adsbdb) # Más privacidad, pero pierde auto-fetch flight data

Gestión y mantenimiento

Ver estado

docker compose ps

Ver logs

docker compose logs -f # O solo últimas 50 líneas docker compose logs -f --tail 50

Restart Jetlog

docker compose restart

Actualizar a versión nueva

docker compose pull docker compose up -d

Monitorear consumo

docker stats jetlog # Típicamente muy bajo: # Memoria: 100-300MB # CPU: minimal (< 1%)

Detener Jetlog

docker compose down # Los datos persisten en /mnt/media/jetlog

Backup datos

tar -czf jetlog-backup-$(date +%Y%m%d).tar.gz /mnt/media/jetlog # O export desde UI: Settings → Export CSV

Restore datos desde backup

docker compose down tar -xzf jetlog-backup-20240815.tar.gz -C / docker compose up -d

Stack técnico

  • Backend: FastAPI (Python) - API REST, autenticación, lógica
  • Frontend: React + TypeScript - interfaz web moderna, responsive
  • Database: SQLite - almacenamiento vuelos, usuarios, configuración
  • Styling: TailwindCSS - diseño limpio, responsive mobile
  • Maps: react-simple-maps (Leaflet) - mapa mundial interactivo
  • External APIs: adsbdb (opcional) - auto-fetch flight data
  • Licencia: GPL-2.0 open source

Comparativa con alternativas

vs MyFlightRadar24

Jetlog gana: Self-hosted, privacidad 100%, gratuito, sin ads, open source, datos en tu homelab. MyFlightRadar24 gana: UI pulida, datos oficiales aviones reales.

vs Flighty

Jetlog gana: Self-hosted, gratuito, privacidad. Flighty gana: Tracking en tiempo real, notificaciones push.

vs Logbook.aero

Jetlog gana: Self-hosted, gratuito, open source. Logbook.aero gana: Features profesionales pilotaje.

Mejor para: Homelabs. Privacidad. Costo cero. Control total. Visualización datos personales.

Comentarios

Entradas populares de este blog

Cómo Instalar y configurar SERVIDOR VPN WIREGUARD en MIKROTIK 🔐 #VPN #Wireguard #Mikrotik #RouterOS

Cómo instalar y configurar DSM SYNOLOGY 7.2.2 en PC | Guía completa, instalación, RAID 1, SMB

Cómo INSTALAR y CONFIGURAR OpenVPN en MIKROTIK. Guía completa paso a paso.