# In all environments, the following files are loaded if they exist, # the latter taking precedence over the former: # # * .env contains default values for the environment variables needed by the app # * .env.local uncommitted file with local overrides # * .env.$APP_ENV committed environment-specific defaults # * .env.$APP_ENV.local uncommitted environment-specific overrides # # Real environment variables win over .env files. # # DO NOT DEFINE PRODUCTION SECRETS IN THIS FILE NOR IN ANY OTHER COMMITTED FILES. # https://symfony.com/doc/current/configuration/secrets.html # # Run "composer dump-env prod" to compile .env files for production use (requires symfony/flex >=1.2). # https://symfony.com/doc/current/best_practices.html#use-environment-variables-for-infrastructure-configuration ###> symfony/framework-bundle ### APP_ENV=dev APP_SECRET=9e287f1ad737386dde46d51e80487236 # Comma-separated CIDRs for reverse proxies (used when APP_ENV=prod). Override on the server if needed. # TRUSTED_PROXIES=127.0.0.0/8,10.0.0.0/8,::1 ###< symfony/framework-bundle ### ###> docker ### # Dev URL: http://127.0.0.1:${HTTP_PORT}/ (override HTTP_PORT/HTTPS_PORT if busy). HTTP_PORT=9080 HTTPS_PORT=9443 # SERVER_NAME=:80 # If MYSQL_* changed after the DB volume exists: docker compose down -v (wipes data), then up. MYSQL_DATABASE=unfold_db MYSQL_VERSION=8.0 MYSQL_CHARSET=utf8mb4 MYSQL_USER=unfold_user MYSQL_PASSWORD=password # Root password is only used for the bundled database service, see compose.yaml # skip it, if you use your own MYSQL_ROOT_PASSWORD=root_password # Set to 1 in the php service environment to run `app:prewarm` once after migrations on container start # (magazine + metadata + comment cache; not a substitute for `scripts/docker-prewarm.sh`, which also runs articles:get). # PREWARM_ON_START=0 # Hub deploy: optional full image ref (default silberengel/unfold:latest in compose.hub.yaml). # UNFOLD_DOCKER_IMAGE=silberengel/unfold:1.0.0 # Optional extra CLI args for the docker `cron` service (dev) and `prewarm` service (compose.hub.yaml): # full `app:prewarm` every 10 min. Example: --metadata-limit=100 --no-magazine # After changing, recreate: `docker compose up -d --force-recreate cron` (dev) or # `docker compose -f compose.hub.yaml up -d --force-recreate prewarm` (hub). # PREWARM_FLAGS= # Comma-separated magazine category #d slugs to refresh first when app:prewarm runs out of time before all categories (see MagazineRefresher). # MAGAZINE_PREWARM_PREFER_SLUGS= # compose.hub.yaml: default host port is 9080. Use 80 only if nothing else binds it. Loopback-only example: # HTTP_PUBLISH=127.0.0.1:9080 # HTTP_PUBLISH=80 # Optional: silence verbose Symfony deprecation output in the CLI. See Symfony docs for values (max[direct]=N, etc.). # SYMFONY_DEPRECATIONS_HELPER=weak # Optional: Nostr per-relay WebSocket timeout in seconds. Default: `nostr_relay_request_timeout_sec` in config/unfold.yaml # (also passed to bin/nostr_relay_request_worker.php as NOSTR_RELAY_REQUEST_TIMEOUT when the parent sets it). # NOSTR_RELAY_REQUEST_TIMEOUT=12 ###< docker ### ###> doctrine/doctrine-bundle ### # Format described at https://www.doctrine-project.org/projects/doctrine-dbal/en/latest/reference/configuration.html#connecting-using-a-url # `serverVersion` is also set in `config/packages/doctrine.yaml` to avoid DBAL 4 "MySQL earlier than 8" deprecation noise. DATABASE_URL="mysql://${MYSQL_USER}:${MYSQL_PASSWORD}@database:3306/${MYSQL_DATABASE}?serverVersion=${MYSQL_VERSION}&charset=${MYSQL_CHARSET}" ###< doctrine/doctrine-bundle ###