This repository has been archived on 2025-11-09 . You can view files and clone it, but cannot push or open issues or pull requests.
867a5644c7e9895ee1f0450704258e6f1a5b0b59
TrafficCue Server
The backend for the TrafficCue navigation app
Handles accounts, POI reviews, route sharing, MapAI, and more. All fully open and self-hostable.
🔧 What is this?
This is the backend server powering TrafficCue, the FOSS navigation app made for slow and special vehicles.
It handles:
- 🔐 Authentication (external OIDC server)
- 🗺️ POI reviews and ratings
- 🔗 Route/Location sharing between users
- 🧠 MapAI features
You can run this yourself to host your own instance, or contribute to the official one.
🚀 Quickstart
Requirements
- Bun
- PostgreSQL
Setup
Docker
- Build the Docker image:
or pull the prebuilt image (recommended):
docker build -t trafficcue-server .docker pull git.picoscratch.de/trafficcue/trafficcue-server:latest - Run the Docker container with the required environment variables:
or use docker compose as usual.
docker run -d \ -p 3000:3000 \ --add-host host.docker.internal:host-gateway \ -e DATABASE_URL=postgres://user:password@host:port/database \ ... # other environment variables as needed \ trafficcue-server
Local
- Clone this repository
- Run
bun installto install dependencies - Launch the app at
src/main.tswith the environment variables set:DATABASE_URL(PostgreSQL connection string:postgres://user:password@host:port/database)GOOGLE_GENERATIVE_AI_API_KEY(optional, to enable MapAI features. Its free at Google!)TANKERKOENIG_API_KEY(optional, to enable fuel price features. Its free!)OIDC_ENABLED(needs to be enabled for most features requiring authentication)OIDC_AUTH_URL(the Authentication URL of your OIDC server)OIDC_CLIENT_ID(the Client ID of your OIDC server)OIDC_TOKEN_URL(the Token URL of your OIDC server)OIDC_JWKS_URL(the JWKS/Certificate URL of your OIDC server)REVIEWS_ENABLED(optional, set totrueto enable POI reviews by users, requires OIDC)HAZARDS_ENABLED(optional, set totrueto enable hazard reporting by users, requires OIDC)
When configuring your OIDC server, make sure to enable Public Client and PCKE support.
Languages
TypeScript
96.2%
Dockerfile
2.6%
JavaScript
1.2%