# Every variable is documented at https://airtrail.johan.ohly.dk/docs/administration/environment-variables # Comment out variables you do not use; an empty value counts as unset. # The single URL used to access AirTrail, e.g. https://example.com ORIGIN=http://localhost:3000 # Behind a reverse proxy, the header carrying the client address. Rate limits on # login and OAuth are keyed on it. Leave unset when clients connect directly. # ADDRESS_HEADER=X-Forwarded-For # The database URL used by the application. # If you are using the provided docker-compose file, you should only change the "password" part of the URL # If you are using your own database, you should change this to the correct URL # ∨∨∨∨∨∨∨∨ DB_URL=postgres://airtrail:password@db:5432/airtrail # ∧∧ # Change "db" to "localhost" if you are developing locally # Values below this line are only for the default provided postgres database ################################################################################### # Connection secret for postgres. You should change it to a random password # Please use only the characters `A-Za-z0-9`, without special characters or spaces # DB_URL above must contain the same password. Postgres keeps the password it was # first started with, so change both before the first start. DB_PASSWORD=password # The values below this line do not need to be changed ################################################################################### DB_DATABASE_NAME=airtrail DB_USERNAME=airtrail # File Uploads (optional) ################################################################################### # Path to store uploaded files (e.g., airline icons) # If not set, file uploads will be disabled # For Docker: Use a path inside the container that's mounted to a volume (e.g., /app/uploads) # For local development: Use an absolute path on your system UPLOAD_LOCATION=/app/uploads # User and group the Docker container runs as; the uploads directory is given to # them on every start. Set them to your own IDs (`id -u`, `id -g`) when using a # bind mount you want to own. # PUID=1000 # PGID=1000 # Maximum HTTP request body size. Detailed flight tracks are submitted as part of flight forms. BODY_SIZE_LIMIT=20M # Basemap provider (optional) ################################################################################### # OpenFreeMap is the default and does not require an API key. # Supported values: openfreemap, carto, protomaps # MAP_PROVIDER=openfreemap # CARTO vector basemaps. Request a key for the domain where AirTrail is hosted. # MAP_CARTO_API_KEY= # Protomaps supports its hosted API or an operator-managed tile source. # Supported source kinds: hosted, pmtiles, tilejson, zxy # MAP_PROTOMAPS_SOURCE_KIND=hosted # MAP_PROTOMAPS_API_KEY= # MAP_PROTOMAPS_SOURCE_URL=https://tiles.example.com/world.pmtiles # MAP_PROTOMAPS_MAX_ZOOM=15 # MAP_PROTOMAPS_ASSETS_BASE_URL=https://protomaps.github.io/basemaps-assets # MAP_PROTOMAPS_LANGUAGE=en # Advanced raw MapLibre style overrides. These bypass AirTrail's managed # basemap style and airport-detail composition for the corresponding theme. # MAP_LIGHT_STYLE_URL= # MAP_DARK_STYLE_URL= # AeroDataBox flight lookup (optional) ################################################################################### # INTEGRATIONS_AERO_DATA_BOX_KEY= # Which AeroDataBox gateway the key above belongs to. # Supported values: rapidapi (default), direct # INTEGRATIONS_AERO_DATA_BOX_ENDPOINT=rapidapi