# ============================================================================= # TerManager2 — environment template # # LOCAL DEVELOPMENT: copy to .env and adjust. # cp .env.example .env && docker compose -f docker-compose.dev.yml up -d # # PRODUCTION (Dokploy): do NOT ship a .env file. Set these as environment # variables in the Dokploy UI instead — the container reads them directly. # Variables marked [REQUIRED] have no safe default and the stack will refuse # to start without them. # ============================================================================= APP_NAME=TerManager2 APP_ENV=production APP_DEBUG=false APP_TIMEZONE=Europe/Rome # [REQUIRED] Generate with: php artisan key:generate --show # Proclamatori personal data is encrypted with this key. If it changes or is # lost, that data becomes permanently unreadable. Back it up. APP_KEY= # [REQUIRED] Public URL, including scheme. Used for links in PDFs and emails, # and to validate the incoming Host header. APP_URL=https://territori.example.org LOG_CHANNEL=stderr LOG_LEVEL=warning # ----------------------------------------------------------------------------- # First-run bootstrap # ----------------------------------------------------------------------------- # The admin account created on first deploy. Change the password after login. INITIAL_ADMIN_NAME=Amministratore INITIAL_ADMIN_EMAIL= INITIAL_ADMIN_PASSWORD= # Leave these at their defaults; they exist as escape hatches. RUN_MIGRATIONS=true RUN_DB_SEED_ON_FIRST_START=true ENSURE_INITIAL_ADMIN_ON_EMPTY_DB=true # ----------------------------------------------------------------------------- # Database — hostnames are fixed by docker-compose.yml # ----------------------------------------------------------------------------- DB_CONNECTION=mysql DB_HOST=mariadb DB_PORT=3306 DB_DATABASE=termanager2 DB_USERNAME=termanager2 # [REQUIRED] No defaults on purpose — generate with: openssl rand -base64 24 DB_PASSWORD= DB_ROOT_PASSWORD= # ----------------------------------------------------------------------------- # Redis (cache, sessions, queue) # ----------------------------------------------------------------------------- REDIS_HOST=redis REDIS_PORT=6379 # [REQUIRED] openssl rand -base64 24 REDIS_PASSWORD= CACHE_STORE=redis SESSION_DRIVER=redis SESSION_SECURE_COOKIE=true QUEUE_CONNECTION=redis # ----------------------------------------------------------------------------- # Mail — external SMTP. Use MAIL_MAILER=log to disable delivery entirely. # ----------------------------------------------------------------------------- MAIL_MAILER=smtp MAIL_HOST= MAIL_PORT=587 MAIL_USERNAME= MAIL_PASSWORD= MAIL_SCHEME=tls MAIL_FROM_ADDRESS=noreply@example.org MAIL_FROM_NAME="${APP_NAME}" # ----------------------------------------------------------------------------- # Local development only — ignored in production # ----------------------------------------------------------------------------- # Host port for docker-compose.dev.yml. In production Traefik handles routing # and no port is published. APP_PORT=8080 MAILPIT_UI_PORT=8025 SEED_DEV_DATA=false