# ============================================================================= # dyncoll.v2 — file di esempio delle variabili d'ambiente # Copia in `.env` e compila i valori (i segreti restano vuoti qui). # cp .env.example .env && (cd backend && php artisan key:generate) # NB: `.env` NON va versionato (vedi .gitignore). # ============================================================================= # --- Applicazione ------------------------------------------------------------ APP_NAME="Dynamic Collection" APP_ENV=local # local | staging | production APP_KEY= # generata con: php artisan key:generate APP_DEBUG=true # false in produzione APP_URL=https://dyncoll-dev.local APP_LOCALE=en APP_FALLBACK_LOCALE=en APP_TIMEZONE=Europe/Rome # Porte pubblicate sull'host (mappate nei compose) APP_BACKEND_PORT=8000 APP_FRONTEND_PORT=8080 # Porta del dev server Vite (solo sviluppo, override compose; Traefik instrada qui) APP_FRONTEND_DEVPORT=5173 # --- Logging ----------------------------------------------------------------- LOG_CHANNEL=stack LOG_STACK=single LOG_LEVEL=debug # warning/error in produzione # --- Database (v2, MySQL — nomi canonici Laravel) ---------------------------- # Usati sia da Laravel sia dal container mysql (mappati nel compose). DB_CONNECTION=mysql DB_HOST=db # nome del servizio docker DB_PORT=3306 DB_DATABASE=dyncoll DB_USERNAME=dyncoll DB_PASSWORD= # segreto: compilare DB_ROOT_PASSWORD= # segreto: solo per il container mysql (root) # --- Database legacy (v1) — sorgente per l'ETL `php artisan v1:import` -------- # Connessione in SOLA LETTURA verso il MySQL di dyncoll.v1. # Attiva solo durante l'import; richiede rete docker condivisa o tunnel. DB_LEGACY_CONNECTION=mysql DB_LEGACY_HOST=dyncoll_v1_db # container/host del DB v1 DB_LEGACY_PORT=3306 DB_LEGACY_DATABASE=lund DB_LEGACY_USERNAME=readonly DB_LEGACY_PASSWORD= # segreto: compilare # --- Redis (cache, sessioni, code, Horizon) ---------------------------------- REDIS_HOST=redis REDIS_PORT=6379 REDIS_PASSWORD= # segreto: compilare REDIS_CLUSTER=false CACHE_STORE=redis SESSION_DRIVER=redis SESSION_LIFETIME=120 QUEUE_CONNECTION=redis BROADCAST_CONNECTION=log FILESYSTEM_DISK=local # --- Autenticazione (Sanctum / Fortify) -------------------------------------- SANCTUM_STATEFUL_DOMAINS=dyncoll-dev.local,localhost,localhost:8080 SESSION_DOMAIN=.dyncoll-dev.local # --- Mail (SMTP) ------------------------------------------------------------- # DEV: Mailpit (servizio nel docker-compose.override.yml). UI: http://localhost:8025 # MAIL_HOST=mailpit MAIL_PORT=1025 (nessuna autenticazione) # PROD: SMTP dell'Ente — esempio (mettere i valori reali nel .env di produzione): # MAIL_HOST=smtps.lu.se MAIL_PORT=587 MAIL_USERNAME=smtps_...@lu.se MAIL_PASSWORD= MAIL_MAILER=smtp MAIL_HOST=mailpit MAIL_PORT=1025 MAIL_USERNAME= MAIL_PASSWORD= # segreto in prod MAIL_SCHEME= # vuoto = STARTTLS (es. porta 587); irrilevante per Mailpit MAIL_FROM_ADDRESS="dynamic_collections@ark.lu.se" MAIL_FROM_NAME="Dynamic Collection Crew" # --- Documentazione OpenAPI (Scramble) --------------------------------------- # Generata automaticamente dal codice; UI su /docs/api (proxy frontend: /api-docs). # Config avanzata in backend/config/scramble.php (nessuna env obbligatoria). # --- Linked Art / Harvesting KSamsök 2 (RAÄ) --------------------------------- # Base URI per il mapping ontologico (vedi memoria progetto + workfile/.../shm-2b). # provider = ente che pubblica; canonical = id stabile; retrieval = URI dereferenziabile. LOD_PROVIDER_URI=https://kulturarvsdata.se/lund LOD_CANONICAL_BASE=https://kulturarvsdata.se/lund/object LOD_RETRIEVAL_BASE=https://dyncoll-dev.local/linkedart/v1/objects LOD_BATCH_PAGE_SIZE=400 # default protocollo (max 2000) # --- SonarQube (analisi qualità via pre-commit) ------------------------------ # Il token NON va qui: usare la variabile SONAR_TOKEN o il file .git/sonar.token. # SonarQube locale: http://sonar.local (UI) — container su rete `sonarqube-internal`.