Publish immutable FrankenPHP images to GHCR, auto-deploy staging after CI, and promote the same digest to production with smoke, backup, and rollback docs. Co-authored-by: Cursor <cursoragent@cursor.com>
90 lines
2.0 KiB
Plaintext
90 lines
2.0 KiB
Plaintext
APP_NAME=Amare
|
|
APP_ENV=local
|
|
APP_KEY=
|
|
APP_DEBUG=true
|
|
# Staging/production: set APP_URL to the public HTTPS origin (e.g. https://staging.example.com).
|
|
APP_URL=http://localhost
|
|
|
|
APP_LOCALE=pt_BR
|
|
APP_FALLBACK_LOCALE=pt_BR
|
|
APP_FAKER_LOCALE=pt_BR
|
|
APP_TIMEZONE=America/Fortaleza
|
|
|
|
# Freeze application clock outside production (visual regression / deterministic seeds).
|
|
# Example: APP_FROZEN_NOW=2026-03-15T12:00:00-03:00
|
|
# Ignored when APP_ENV=production.
|
|
# APP_FROZEN_NOW=
|
|
|
|
APP_MAINTENANCE_DRIVER=file
|
|
# APP_MAINTENANCE_STORE=database
|
|
|
|
# PHP_CLI_SERVER_WORKERS=4
|
|
|
|
BCRYPT_ROUNDS=12
|
|
|
|
LOG_CHANNEL=stack
|
|
LOG_STACK=single
|
|
LOG_DEPRECATIONS_CHANNEL=null
|
|
LOG_LEVEL=debug
|
|
|
|
DB_CONNECTION=pgsql
|
|
DB_HOST=127.0.0.1
|
|
DB_PORT=5432
|
|
DB_DATABASE=amare
|
|
DB_USERNAME=amare
|
|
DB_PASSWORD=secret
|
|
|
|
SESSION_DRIVER=database
|
|
SESSION_LIFETIME=120
|
|
SESSION_ENCRYPT=false
|
|
SESSION_PATH=/
|
|
SESSION_DOMAIN=null
|
|
# Staging/production behind HTTPS (Dokploy Traefik): SESSION_SECURE_COOKIE=true
|
|
SESSION_SECURE_COOKIE=false
|
|
SESSION_HTTP_ONLY=true
|
|
SESSION_SAME_SITE=lax
|
|
|
|
BROADCAST_CONNECTION=log
|
|
FILESYSTEM_DISK=local
|
|
QUEUE_CONNECTION=database
|
|
|
|
CACHE_STORE=database
|
|
# CACHE_PREFIX=
|
|
|
|
MEMCACHED_HOST=127.0.0.1
|
|
|
|
REDIS_CLIENT=phpredis
|
|
REDIS_HOST=127.0.0.1
|
|
REDIS_PASSWORD=null
|
|
REDIS_PORT=6379
|
|
|
|
# Local/CI: log or array. Production transactional email: MAIL_MAILER=resend
|
|
MAIL_MAILER=log
|
|
MAIL_SCHEME=null
|
|
MAIL_HOST=127.0.0.1
|
|
MAIL_PORT=2525
|
|
MAIL_USERNAME=null
|
|
MAIL_PASSWORD=null
|
|
MAIL_FROM_ADDRESS="hello@example.com"
|
|
MAIL_FROM_NAME="${APP_NAME}"
|
|
|
|
# Required when MAIL_MAILER=resend
|
|
RESEND_API_KEY=
|
|
|
|
AWS_ACCESS_KEY_ID=
|
|
AWS_SECRET_ACCESS_KEY=
|
|
AWS_DEFAULT_REGION=us-east-1
|
|
AWS_BUCKET=
|
|
AWS_USE_PATH_STYLE_ENDPOINT=false
|
|
|
|
# Cloudflare R2 (production object storage). Set FILESYSTEM_DISK=r2 in production.
|
|
# R2_URL must be the custom domain mapped to the bucket (e.g. https://media.example.com).
|
|
# R2_ENDPOINT example: https://<account_id>.r2.cloudflarestorage.com
|
|
R2_ACCESS_KEY_ID=
|
|
R2_SECRET_ACCESS_KEY=
|
|
R2_BUCKET=
|
|
R2_ENDPOINT=
|
|
R2_URL=
|
|
|
|
VITE_APP_NAME="${APP_NAME}"
|