Skip to main content

Documentation Index

Fetch the complete documentation index at: https://mintlify.com/Elian-D/ORVIAN/llms.txt

Use this file to discover all available pages before exploring further.

ORVIAN is configured entirely through environment variables in .env. The .env.example file ships with every variable pre-documented and organized by category, so a new installation only requires copying it and filling in the secrets. Below is the complete reference, grouped by concern.
After changing any configuration value, run php artisan config:clear to flush the compiled config cache. If you have previously cached your config with php artisan config:cache, you must re-run that command as well for the new values to take effect.

Application

Core identity and runtime settings for the Laravel application.
VariableDefaultDescription
APP_NAMELaravelDisplay name used in emails, page titles, and notifications.
APP_ENVlocalRuntime environment. Accepted values: local, production, testing.
APP_KEY(empty)32-character encryption key. Generate with php artisan key:generate. Required before the app can start.
APP_DEBUGtrueEnables detailed error pages and stack traces. Set to false in production.
APP_URLhttp://localhostPublic-facing URL of the application. Used for link generation, QR codes, and signed URLs.
APP_LOCALEenDefault application locale used for translations and date formatting.

Database

ORVIAN supports SQLite (development default) and MySQL / MariaDB (recommended for production).
VariableDefaultDescription
DB_CONNECTIONsqliteDatabase driver. Use sqlite for local development, mysql for staging and production.
DB_HOST127.0.0.1Database server hostname. Set to mysql when running inside the Docker Compose network.
DB_PORT3306TCP port for the MySQL server.
DB_DATABASElaravelName of the database schema to connect to.
DB_USERNAME(empty)Database user with read/write access to DB_DATABASE.
DB_PASSWORD(empty)Password for DB_USERNAME.

Cache, Sessions, and Queues

These three drivers are configured independently and should all point to Redis in production for consistency and performance.
VariableDefaultDescription
SESSION_DRIVERdatabaseWhere PHP sessions are stored. Use redis in production for shared-session support across processes.
CACHE_STOREdatabaseApplication cache backend. Use redis for fast in-memory caching.
QUEUE_CONNECTIONdatabaseQueue backend for async jobs (alert dispatching, Excel exports, etc.). Use redis for reliable, real-time processing.
REDIS_CLIENTpredisPHP Redis client library. ORVIAN uses predis/predis; leave this value unchanged.
REDIS_HOSTredis / 127.0.0.1Redis server hostname. Use redis inside Docker Compose, 127.0.0.1 for a local Redis installation.
REDIS_PORT6379TCP port for the Redis server.

Mail

VariableDefaultDescription
MAIL_MAILERlogMail transport. Set to smtp in production, or keep log to write emails to the Laravel log during development.
MAIL_HOST127.0.0.1SMTP server hostname. When using Docker, Mailpit listens on mailpit (port 1025).
MAIL_PORT2525SMTP port. Mailpit’s SMTP port is 1025.
MAIL_FROM_ADDRESShello@example.comThe From: address on all outgoing emails.
MAIL_FROM_NAME${APP_NAME}The From: name on all outgoing emails.

Third-Party Services

External APIs integrated directly into ORVIAN’s core feature set.
VariableDefaultDescription
GOOGLE_MAPS_API_KEY(empty)API key for the Google Maps JavaScript API, used to display school locations on the platform admin map.
FACIAL_API_URLhttp://host.docker.internal:8001Base URL of the optional Python facial-recognition microservice. The default points to a service running on the Docker host machine.
FACIAL_API_KEYyour-secret-keyShared secret sent as a bearer token on every request to the facial-recognition API. Must match the value configured in the microservice.

Chatwoot Integration

Chatwoot powers ORVIAN’s built-in live-chat widget and parent support inbox.
VariableDefaultDescription
CHATWOOT_BASE_URLhttps://chat.orvian.com.doBase URL of your Chatwoot instance.
CHATWOOT_API_ACCESS_TOKEN(empty)Superadmin API token from your Chatwoot account settings. Used for server-side API calls.
CHATWOOT_ACCOUNT_ID1Numeric ID of the Chatwoot account to associate contacts and conversations with (typically 1).
CHATWOOT_HMAC_TOKEN(empty)HMAC token for Chatwoot Identity Verification (SSO). Ensures the widget session is authenticated and tamper-proof.

Evolution API (WhatsApp)

Evolution API is the WhatsApp gateway ORVIAN uses to send attendance alerts and notifications to guardians.
VariableDefaultDescription
EVOLUTION_API_URLhttps://evolution.orvian.com.doBase URL of your Evolution API instance.
EVOLUTION_API_KEY(empty)Global API key for authenticating requests to the Evolution API.
EVOLUTION_INSTANCE_NAMEorvian-demoName of the WhatsApp instance registered in Evolution API that messages are sent from.

Alert Thresholds

These variables control when ORVIAN automatically dispatches WhatsApp notifications to a student’s guardian. Thresholds are evaluated monthly by the orvian:evaluate-attendance-alerts scheduled command.
VariableDefaultDescription
ALERT_ABSENCE_THRESHOLD3Number of full absences in the current calendar month before an alert is sent to the guardian.
ALERT_TARDINESS_THRESHOLD3Number of late-arrival events in the current calendar month before an alert is sent to the guardian.
ORVIAN reads the application version from the VERSION file in the project root and caches the result permanently under the key orvian.app_version. The version string is displayed in the platform admin footer and API responses. After each deployment, clear this cache entry so the new version is reflected immediately:
php artisan cache:forget orvian.app_version

Build docs developers (and LLMs) love