2026-01-23 21:16:29 -05:00
|
|
|
# Tinker Tickets Environment Configuration
|
|
|
|
|
# Copy this file to .env and fill in your values
|
2026-07-10 16:11:26 -04:00
|
|
|
#
|
|
|
|
|
# NOTE: This file is parsed with parse_ini_file(). Any value containing special
|
|
|
|
|
# characters (#, ;, =, quotes, spaces, etc.) MUST be wrapped in double quotes,
|
|
|
|
|
# e.g. DB_PASS="p@ss;word#1". The application now fails loudly (dies with a clear
|
|
|
|
|
# error) if the .env file cannot be parsed, so an unquoted special character will
|
|
|
|
|
# take the whole app down rather than silently using a wrong value.
|
2026-01-23 21:16:29 -05:00
|
|
|
|
|
|
|
|
# Database Configuration
|
|
|
|
|
DB_HOST=10.10.10.50
|
|
|
|
|
DB_USER=tinkertickets
|
|
|
|
|
DB_PASS=your_password_here
|
|
|
|
|
DB_NAME=ticketing_system
|
|
|
|
|
|
2026-02-21 19:17:46 -05:00
|
|
|
# Matrix Webhook (optional - for notifications via matrix-hookshot)
|
|
|
|
|
# Set to your hookshot generic webhook URL, e.g.:
|
|
|
|
|
# https://matrix.lotusguild.org/webhook/<uuid>
|
|
|
|
|
MATRIX_WEBHOOK_URL=
|
2026-01-23 21:16:29 -05:00
|
|
|
|
2026-02-21 19:17:46 -05:00
|
|
|
# Matrix users to @mention on every new ticket (comma-separated Matrix user IDs)
|
|
|
|
|
# e.g. @jared:matrix.lotusguild.org,@alice:matrix.lotusguild.org
|
|
|
|
|
MATRIX_NOTIFY_USERS=
|
|
|
|
|
|
|
|
|
|
# Application Domain (required for Matrix webhook ticket links)
|
2026-02-05 10:24:00 -05:00
|
|
|
# Set this to your public domain (e.g., t.lotusguild.org)
|
|
|
|
|
APP_DOMAIN=
|
|
|
|
|
|
|
|
|
|
# Allowed Hosts for HTTP_HOST validation (comma-separated)
|
|
|
|
|
# Include all domains that can access this application
|
|
|
|
|
ALLOWED_HOSTS=localhost,127.0.0.1
|
|
|
|
|
|
2026-06-30 12:00:36 -04:00
|
|
|
# Trusted reverse proxy IP(s), comma-separated (e.g. the Authelia/nginx proxy).
|
2026-07-10 16:11:26 -04:00
|
|
|
# Set this to the IP address(es) of your reverse proxy. Authelia forward-auth
|
|
|
|
|
# headers (Remote-User / Remote-Groups) and forwarded client IPs are only
|
|
|
|
|
# trusted when REMOTE_ADDR is in this list.
|
|
|
|
|
#
|
|
|
|
|
# Leaving this EMPTY disables reverse-proxy verification entirely: the app then
|
|
|
|
|
# trusts Remote-User / Remote-Groups headers from ANY source. That is unsafe if
|
|
|
|
|
# the PHP backend is reachable directly (bypassing the proxy), because a client
|
|
|
|
|
# can then spoof those headers and log in as an admin. Only leave it empty when
|
|
|
|
|
# network topology guarantees PHP is reachable solely via the trusted proxy.
|
|
|
|
|
#
|
|
|
|
|
# Exact IP match only (no CIDR). Example (single proxy): TRUSTED_PROXIES=10.10.10.27
|
|
|
|
|
# Example (multiple): TRUSTED_PROXIES=10.10.10.27,10.10.10.28
|
2026-06-30 12:00:36 -04:00
|
|
|
TRUSTED_PROXIES=
|
|
|
|
|
|
2026-01-23 21:16:29 -05:00
|
|
|
# Timezone (default: America/New_York)
|
|
|
|
|
TIMEZONE=America/New_York
|
2026-03-28 20:47:08 -04:00
|
|
|
|
|
|
|
|
# LDAP / lldap (for user avatar lookups)
|
|
|
|
|
LDAP_ENABLED=true
|
|
|
|
|
LDAP_HOST=10.10.10.39
|
|
|
|
|
LDAP_PORT=3890
|
|
|
|
|
LDAP_BIND_DN=uid=tinker-tickets,ou=people,dc=example,dc=com
|
|
|
|
|
LDAP_BIND_PW=
|
|
|
|
|
LDAP_BASE_DN=dc=example,dc=com
|
|
|
|
|
LDAP_USER_BASE=ou=people,dc=example,dc=com
|
|
|
|
|
# How long to cache avatar images locally (seconds, default 3600)
|
|
|
|
|
AVATAR_CACHE_TTL=3600
|