eb9c92e71607dafa2fadd0aa964dabe6e7f6a9f7
Some checks failed
TrafficCue Server CI / check (push) Failing after 15s
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 install
to install dependencies - Launch the app at
src/main.ts
with 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 totrue
to enable POI reviews by users, requires OIDC)
When configuring your OIDC server, make sure to enable Public Client and PCKE support.
Languages
TypeScript
91.7%
Dockerfile
5.7%
JavaScript
2.6%