7d650e4c10
Uniform stock management for healthcare linen rooms: the coordinator app, the phone counter and the staff app, for your own server. Built from d947f89 on 2026-09-15. Licensed under the Functional Source License (FSL-1.1-ALv2).
53 lines
2.3 KiB
Bash
53 lines
2.3 KiB
Bash
# Every variable the Community edition reads. docker-compose.yml passes this file to the app and
|
|
# fills DATABASE_URL, PORT and PHOTO_DIR itself.
|
|
#
|
|
# The variables beginning NEXT_PUBLIC_ are compiled into the browser bundle at build time, not read
|
|
# at runtime — set them before the first `docker compose up --build`, and rebuild if they change.
|
|
|
|
# ---- required ----
|
|
# Signs every session cookie. Generate one per instance (`openssl rand -base64 48`). The server
|
|
# refuses to start while it still says change-me.
|
|
SESSION_SECRET=change-me
|
|
# The bundled database's password (docker-compose.yml only).
|
|
POSTGRES_PASSWORD=
|
|
# The address people open the app at, e.g. https://uniforms.example.health. Used in emailed links.
|
|
NEXT_PUBLIC_SITE_URL=http://localhost:3000
|
|
# Always "community" on your own server.
|
|
EDITION=community
|
|
|
|
# ---- your documents ----
|
|
# The staff sign-in and the account screens link to a terms page and a privacy notice. Point them
|
|
# at your own; until you do they point at threadcount.tech's, which describe the hosted service.
|
|
NEXT_PUBLIC_TERMS_URL=
|
|
NEXT_PUBLIC_PRIVACY_URL=
|
|
|
|
# ---- transactional mail (optional) ----
|
|
# With these unset nothing is sent: password resets and approval links are handled at the counter,
|
|
# and the screens say so rather than claiming otherwise.
|
|
SMTP_HOST=
|
|
SMTP_PORT=587
|
|
SMTP_USER=
|
|
SMTP_PASS=
|
|
SMTP_FROM="ThreadCount <no-reply@example.health>"
|
|
|
|
# ---- optional ----
|
|
# 1 hides the create-account form and refuses the sign-up endpoint. Set it once your facility exists.
|
|
SIGNUPS_DISABLED=
|
|
# Cloudflare Turnstile on sign-in and sign-up. Set both to enforce it; leave both blank to rely on
|
|
# the per-address rate limits alone.
|
|
TURNSTILE_SECRET=
|
|
NEXT_PUBLIC_TURNSTILE_SITEKEY=
|
|
# Your own GlitchTip (Sentry-protocol) DSN for error reports. Blank = nothing is reported anywhere.
|
|
NEXT_PUBLIC_GLITCHTIP_DSN=
|
|
# Stamped on error reports so a fault can be tied to a build.
|
|
NEXT_PUBLIC_RELEASE=
|
|
# Host port docker-compose.yml publishes the app on (the container always listens on 3000).
|
|
APP_PORT=3000
|
|
# Your own Umami, if any: the tracker script address and the site ids. Blank = no statistics sent.
|
|
NEXT_PUBLIC_UMAMI_SRC=
|
|
NEXT_PUBLIC_UMAMI_SITE_ID=
|
|
NEXT_PUBLIC_UMAMI_APP_ID=
|
|
# Your own Chatwoot, if any: a chat widget on the coordinator app. Blank = no widget.
|
|
NEXT_PUBLIC_CHATWOOT_URL=
|
|
NEXT_PUBLIC_CHATWOOT_TOKEN=
|