Configuration
You can modify the configuration by setting values in the storage/config.yml file.
The config.yml file is not created automatically because the server uses default values. After editing config.yml, restart the container for the changes to take effect.
Setting environment variable in docker-compose.yml also work. e.g.
environment:
REGISTER_ENABLE: "false"
General
Image default size
By default, images are resized to 500px for places and 600px for trips. You can override these default values by setting them in the config.yml:
Higher numbers will lead to higher disk usage.
PLACE_IMAGE_SIZE=500
TRIP_IMAGE_SIZE=600
Map defaults
You can configure the default values for new users with the following settings: DEFAULT_TILE, DEFAULT_CURRENCY, DEFAULT_MAP_LAT, DEFAULT_MAP_LNG.
DEFAULT_TILE: default map tile layer URLDEFAULT_CURRENCY: default currency symbolDEFAULT_MAP_LAT: default latitude when opening TRIPDEFAULT_MAP_LNG: default longitude when opening TRIP
Changing these values does not update settings for existing users, it only affects new users.
Attachment max size
Trips hold attachments, the default size for them is 10 MB.
You might need to change your webserver maximum body size as well (e.g. Nginx: client_max_body_size, Caddy: request_body, etc.)
ATTACHMENT_MAX_SIZE=10485760 # 10 MB
Files and folders
Inside your storage directory, TRIP uses 4 folders: attachments, backups, assets, frontend and one file trip.sqlite. Their path can be changed if needed:
ATTACHMENTS_FOLDER="storage/attachments"
BACKUPS_FOLDER="storage/backups"
ASSETS_FOLDER="storage/assets"
FRONTEND_FOLDER="frontend"
SQLITE_FILE="storage/trip.sqlite"
Authentication
Token duration
To modify the token lifespan, edit ACCESS_TOKEN_EXPIRE_MINUTES for the Access Token and REFRESH_TOKEN_EXPIRE_MINUTES for the Refresh Token.
By default, the Refresh Token expires after 1440 minutes (24 hours), and the Access Token after 30 minutes.
ACCESS_TOKEN_EXPIRE_MINUTES=30
REFRESH_TOKEN_EXPIRE_MINUTES=1440
OIDC Auth
OIDC_DISCOVERY_URL="https://sso.yourdomain.lan/.well-known/openid-configuration"
OIDC_CLIENT_ID="your-client-id"
OIDC_CLIENT_SECRET="your-client-secret"
OIDC_REDIRECT_URI="https://trip.yourdomain.lan/auth"
You might face a SSLError / CERTIFICATE_VERIFY_FAILED. I invite you to check Troubleshoot SSL Error section
Disable registration
The key REGISTER_ENABLE can be configured to false if you want to disable registration.
To disable, add this in your config.yml:
REGISTER_ENABLE=false
Troubleshoot SSL Error / Certificate
One way to check if you're concerned by this is simply doing the following and checking the result:
$ docker run --rm -it ghcr.io/itskovacs/trip:1 /bin/bash
$ python3
>>> import httpx
>>> httpx.get("https://sso.yourdomain.lan/")
In case you're facing this issue, it's likely due to the fact that the container does not trust you custom certificate.
To fix this, I recommend you to build your own image with the certificate, based on the latest package.
Pull the latest TRIP image.
docker pull ghcr.io/itskovacs/trip:1
Create a file named Dockerfile in your TRIP directory to copy your CA certificate in a custom TRIP image.
# Use latest TRIP image
FROM ghcr.io/itskovacs/trip:1
# Copy your CA certificate file in the image. Replace myCA.crt with your certificate name.
COPY myCA.crt /usr/local/share/ca-certificates/
RUN update-ca-certificates
Then, simply build the image:
docker build -t trip-custom-cert .
When you want to run TRIP, you just have to use your newly created image trip-custom-cert:
docker run -p 8080:8000 -v ./storage:/app/storage trip-custom-cert
On TRIP update, simply re-create your custom image:
docker pull ghcr.io/itskovacs/trip:1
docker build -t trip-custom-cert .