Table of Contents
Configuration
Required Environment Variables
| Variable | Description | Example |
|---|---|---|
APP_KEY |
Laravel application key (base64-encoded) | base64:abc...== |
JWT_SECRET |
Signing key for JWT access tokens (HS256) | openssl rand -base64 32 |
The container will terminate on startup if any of these variables are missing.
Optional Environment Variables
| Variable | Default | Description |
|---|---|---|
APP_ENV |
production |
Environment mode (local, production) |
APP_DEBUG |
false |
Debug mode (never use true in production) |
APP_URL |
http://localhost:8080 |
Public URL of the application |
APP_PORT |
8000 |
Internal port of the PHP server |
DB_CONNECTION |
sqlite |
Database driver (sqlite, mysql) |
DB_DATABASE |
/app/storage/database.sqlite |
Database path (SQLite) or database name |
CACHE_STORE |
file |
Cache driver (file, redis) |
SESSION_DRIVER |
file |
Session driver (file, redis, cookie) |
QUEUE_CONNECTION |
sync |
Queue driver (sync, redis) |
PAYMENTS_DRIVER |
— | Active payment provider (sumup) |
SUMUP_BASE_URL |
— | SumUp API base URL |
SUMUP_TIMEOUT_SECONDS |
— | HTTP timeout for SumUp requests |
SUMUP_WEBHOOK_TOLERANCE_SECONDS |
— | Time window for webhook signature verification |
SUMUP_DEFAULT_CURRENCY |
— | Default currency (e.g., EUR) |
SUMUP_SIMULATE |
— | Enable payment simulation (true) |
Note: For production use,
CACHE_STORE,SESSION_DRIVER, andQUEUE_CONNECTIONshould be set toredisto ensure horizontal scalability and persistent queue processing.