# Copy to `.env` before `docker compose up`. Compose reads every credential # from here and has no defaults of its own — it refuses to start naming the # variable it wanted rather than falling back to a value that would be public. # The local database. Throwaway values are fine; these three are what compose # creates the container with and what it builds DATABASE_URL from. POSTGRES_USER=postgres POSTGRES_PASSWORD=postgres POSTGRES_DB=nestri # For anything run outside a container — `bun dev`, `bun run db:migrate`. DATABASE_URL=postgres://postgres:postgres@localhost:5432/nestri # The database the tests run against. Required — DB-backed tests refuse to run # rather than fall back to a database nobody named. # # **Point it at the same database as DATABASE_URL above.** "Isolated" means # isolated from anything you care about, not isolated from DATABASE_URL: route # tests reach the database through the app and core tests reach it directly, so # two different values put the fixtures in one database and the assertions in # the other. That fails around forty tests, in neither half's own code, with # nothing in the output pointing at this line. TEST_DATABASE_URL=postgres://postgres:postgres@localhost:5432/nestri # The issuer's public URL — the address a token's `iss` claim will carry. AUTH_ISSUER_URL=http://localhost:1337 # Where to reach the issuer, if that is not where it lives. Unset unless the # public name is unroutable from where the API runs; docker compose sets it. AUTH_INTERNAL_URL= # Mail delivery. All three together, or none of them plus EMAIL_DEV_LOG=true, # which prints sign-in codes to the log instead of sending them. Printing them # is a local-development convenience and nothing else. EMAIL_SEND_URL= EMAIL_API_KEY= EMAIL_FROM= EMAIL_DEV_LOG=true # Billing. The provider's sandbox and production are separate servers with # separate data, so a token from one is refused by the other and a product id # from one means nothing to it. `POLAR_SERVER` says which you are talking to. POLAR_SERVER=sandbox POLAR_ACCESS_TOKEN= POLAR_PRODUCT_ID= # Signs every webhook delivery. Without it the webhook route refuses everything, # on purpose: nothing else stands in front of it. POLAR_WEBHOOK_SECRET=