To run your own instance of AppTracker, you'll need:
- Docker and Docker Compose installed
- AWS S3-compatible storage (like Cloudflare R2)
- An OIDC provider (like Keycloak, Auth0, Okta, or any OIDC-compliant identity provider)
Set the following environment variables or modify them in docker-compose.yml:
# Database
DATABASE_HOST=db
DATABASE_NAME=vapor_database
DATABASE_USERNAME=vapor_username
DATABASE_PASSWORD=vapor_password
# OIDC Authentication (required)
OIDC_ISSUER=https://your-oidc-provider.example.com
OIDC_AUDIENCE=your-client-id
# AWS S3-compatible storage (optional)
AWS_ACCESS_KEY_ID=your_access_key
AWS_SECRET_ACCESS_KEY=your_secret_key
AWS_ENDPOINT=your_s3_endpoint
# Logging
LOG_LEVEL=debug| Variable | Required | Description |
|---|---|---|
OIDC_ISSUER |
Yes | Your OIDC provider's issuer URL. The server uses auto-discovery to fetch the JWKS URL from {OIDC_ISSUER}/.well-known/openid-configuration. |
OIDC_AUDIENCE |
Yes | The client ID registered with your OIDC provider for this API. Tokens must contain this value in the aud claim. |
- Build the Docker images:
docker compose build- Start the PostgreSQL database:
docker compose up db -d- Run database migrations:
docker compose run migrate- Start the application:
docker compose up app -dThe API will be available at http://localhost:8080.
- To revert migrations:
docker compose run revert- To stop all services:
docker compose downAdd -v flag to also remove the database volume:
docker compose down -v