Overview
When running Reitti using Docker Compose, all configuration is provided through environment variables. This page documents every supported variable, its default value, and a brief description of its purpose.
If you prefer running the containers with plain docker run commands instead of Docker Compose, see
Running without Docker Compose.
Note: The OpenID Connect (OIDC) related variables are described in detail on the OpenID Connect page. They are listed here for completeness, but refer to that page for the full OIDC configuration guide.
Server and Context Path
| Variable | Description | Default Value | Example Value |
|---|---|---|---|
BASE_PATH |
Base path used by the embedded servlet container. If you want to serve Reitti behind a reverse proxy under a sub‑path, set this to that sub‑path (e.g., /reitti). |
/ |
/reitti |
LOGGING_LEVEL |
Logging level for application classes (com.dedicatedcode.reitti). Choices: TRACE, DEBUG, INFO, WARN, ERROR. |
INFO |
DEBUG |
ADVERTISE_URI |
Public URI of the Reitti instance. Used for external references such as links in emails. | (empty) | https://reitti.example.com |
DANGEROUS_LIFE |
When set to true, enables the background data‑management endpoints (clean data, purge, etc.). Use with caution. |
false |
true |
Application Runtime
| Variable | Description | Default Value | Example Value |
|---|---|---|---|
SERVER_PORT |
Port on which the application server listens. | 8080 |
8080 |
APP_UID |
User ID under which the application process runs inside the container. | 1000 |
1000 |
APP_GID |
Group ID under which the application process runs inside the container. | 1000 |
1000 |
APP_EXTRA_GROUPS |
Comma-separated list of additional group IDs (GIDs) the application process is added to on startup. Missing groups are created automatically. Useful for bind-mounted volumes owned by host groups (e.g. media folders or the Docker socket). Works with or without APP_UID/APP_GID. |
(empty) | 999,101 |
JAVA_OPTS |
Additional JVM options passed to the Java process. | (empty) | -Xmx512m -Xms256m |
PostgreSQL / PostGIS Database
| Variable | Description | Default Value | Example Value |
|---|---|---|---|
POSTGIS_HOST |
Hostname of the PostgreSQL / PostGIS server. | postgis |
db.example.com |
POSTGIS_PORT |
Database port. | 5432 |
5432 |
POSTGIS_DB |
Database name. | reittidb |
reittidb |
POSTGIS_USER |
Database username. | reitti |
reitti |
POSTGIS_PASSWORD |
Database password. | reitti |
s3cret! |
Redis Cache
| Variable | Description | Default Value | Example Value |
|---|---|---|---|
REDIS_HOST |
Hostname of the Redis server. | redis |
redis.example.com |
REDIS_PORT |
Redis port. | 6379 |
6379 |
REDIS_USERNAME |
Username for Redis authentication (leave empty if not needed). | (empty) | default |
REDIS_PASSWORD |
Password for Redis authentication. | (empty) | r3d!s$3cr3t |
REDIS_DATABASE |
Redis database index. | 0 |
1 |
REDIS_CACHE_PREFIX |
Prefix added to all cache keys in Redis. | (empty) | reitti: |
REDIS_SOCKET |
If you want to connect to Redis via socket, use this variable | (empty) | /run/redis/redis-server.sock |
Tile Cache
| Variable | Description | Default | Example Value |
|---|---|---|---|
TILES_CACHE |
URL of our external tile cache (e.g. a tile‑proxy service). Map tiles are fetched through this URL. | http://tile-cache |
http://tiles.local:8080 |
Local Authentication
| Variable | Description | Default Value | Example Value |
|---|---|---|---|
DISABLE_LOCAL_LOGIN |
When true, disables login with username / password and clears existing stored passwords. Use alongside OIDC to enforce SSO-only access. |
false |
true |
OpenID Connect (OIDC)
Full configuration details are covered on the OpenID Connect page. The table below lists all OIDC environment variables for quick reference.
| Variable | Description | Default Value | Example Value |
|---|---|---|---|
OIDC_ENABLED |
Whether to enable OIDC authentication. | false |
true |
OIDC_SIGN_UP_ENABLED |
Whether new users can self‑register via OIDC. When false, only existing users can log in. |
true |
false |
OIDC_CLIENT_ID |
Client ID issued by the OIDC provider. | (empty) | reitti |
OIDC_CLIENT_SECRET |
Client secret issued by the OIDC provider. | (empty) | F0oxfg8b2rp5X97YPS92C2ERxof1oike |
OIDC_ISSUER_URI |
Issuer URI of the OIDC provider (e.g. https://accounts.google.com). |
(empty) | https://auth.example.com |
OIDC_SCOPE |
Comma‑separated list of OIDC scopes requested during authentication. | openid,profile |
openid,profile,email |
OIDC_AUTHENTICATION_METHOD |
Authentication method used by the OIDC client. Supported: client_secret_basic, client_secret_post, none. |
client_secret_basic |
client_secret_basic |
Data Import / Processing
| Variable | Description | Default Value | Example Value |
|---|---|---|---|
PROCESSING_BATCH_SIZE |
Number of location points processed in a single batch during import. Larger values use more memory and speed up processing. | 10000 |
50000 |
INGESTION_MAX_BATCH_SIZE |
Maximum number of raw location points the server will wait before flushing API request from the ingestion endpoint. | 100 |
500 |
INGESTION_MAX_IDLE_TIME |
Maximum time (in seconds) the server will wait before flushing a partially filled batch to the database when receiving data via the live mode / batch ingestion API. | 5 |
10 |
Optional Features
| Variable | Description | Default Value | Example Value |
|---|---|---|---|
SPATIAL_COVERAGE |
Enables H3-based spatial coverage analysis. Calculates H3 hex cells for every location point and downloads a global administrative boundary database. Requires additional disk space and processing time. Learn more | false |
true |
SPATIAL_COVERAGE_LOCATION |
Filesystem path where the H3 boundary database and calculated H3 cells are stored. Learn more | /data/h3 |
/data/h3 |
PANORAMAX_BASE_URL |
Base URL of the Panoramax API used for the street-level imagery on the map. Set to an empty value to disable the integration entirely. Learn more | https://api.panoramax.xyz/api |
https://api.panoramax.xyz/api |
Reitti Tile Cache
| Variable | Description | Default | Example Value |
|---|---|---|---|
RESOLVER_IP |
Used to set the resolver directive for nginx by hand. If kept empty, the container will calculate this from /etc/resolv.conf on startup and will take the first one found. |
(empty) | 8.8.8.8 |
Example docker-compose.yml snippet
The following snippet shows how the environment variables can be placed under the reitti service:
services:
reitti:
image: dedicatedcode/reitti:latest
environment:
# Base path & logging
- BASE_PATH=/
- LOGGING_LEVEL=INFO
- ADVERTISE_URI=https://reitti.example.com
# Application runtime
- SERVER_PORT=8080
- APP_UID=1000
- APP_GID=1000
- APP_EXTRA_GROUPS=999,101
- JAVA_OPTS=-Xmx512m
# Database
- POSTGIS_HOST=postgis
- POSTGIS_PORT=5432
- POSTGIS_DB=reittidb
- POSTGIS_USER=reitti
- POSTGIS_PASSWORD=reitti
# Redis
- REDIS_HOST=redis
- REDIS_PORT=6379
- REDIS_DATABASE=0
# Tile cache
- TILES_CACHE=http://tile-cache
# Data management (deletion, purge)
- DANGEROUS_LIFE=false
# Ingestion tuning
- PROCESSING_BATCH_SIZE=10000
- INGESTION_MAX_BATCH_SIZE=100
- INGESTION_MAX_IDLE_TIME=5
# Optional features
- SPATIAL_COVERAGE=false
- SPATIAL_COVERAGE_LOCATION=/data/h3
- PANORAMAX_BASE_URL=https://api.panoramax.xyz/api
tile-cache:
image: dedicatedcode/reitti-tile-cache:latest
environment:
- RESOLVER_IP=8.8.8.8
OIDC variables are omitted in the snippet above; see the OpenID Connect page for how to add them.
For a complete working setup, refer to the quick‑start guide and the provided
docker-compose.yml in the repository.