# HTTP / sessions APP_ENV=production STORE_PUBLIC_URL=https://plugins.example.com # Nur aktivieren, wenn direkte Zugriffe per Firewall ausgeschlossen sind und # ausschließlich ein vertrauenswürdiger Proxy X-Forwarded-For setzt. STORE_TRUST_PROXY=false STORE_TRUSTED_PROXY_IPS=127.0.0.1,::1 STORE_COOKIE_SECURE=true STORE_SESSION_NAME=netbox_plugin_store # Admin: generate with `php bin/console hash-password 'a-long-random-password'`. # There are deliberately no default credentials. All three values are required. STORE_ADMIN_USERNAME=admin STORE_ADMIN_PASSWORD_HASH=$argon2id$REPLACE_WITH_GENERATED_HASH STORE_SESSION_SECRET=replace-with-at-least-32-random-characters STORE_ADMIN_SESSION_TTL=28800 STORE_LOGIN_MAX_ATTEMPTS=5 STORE_LOGIN_WINDOW_SECONDS=900 # Storage: zero-setup JSON or MariaDB via PDO. JSON uses flock + fsync + rename. STORE_DB_DRIVER=json STORE_JSON_PATH=./data/store.json STORE_MARIADB_DSN=mysql:host=mariadb;port=3306;dbname=netbox_store;charset=utf8mb4 STORE_MARIADB_USER=netbox_store STORE_MARIADB_PASSWORD=replace-me # Strict outbound policy. Add internal hosts explicitly and only enable private # networks when the deployment intentionally uses an internal Forgejo. STORE_ALLOWED_SOURCE_HOSTS=git.mrblake.cc,github.com,api.github.com,*.github.com,*.githubusercontent.com STORE_ALLOW_PRIVATE_NETWORKS=false STORE_HTTP_TIMEOUT_SECONDS=20 STORE_MAX_METADATA_BYTES=2097152 STORE_MAX_ARTIFACT_BYTES=536870912 STORE_USER_AGENT=MrBlake-NetBox-Plugin-Store/1.0 # Zero-setup Forgejo source (created on first web/CLI start). STORE_DEFAULT_PROVIDER=forgejo STORE_DEFAULT_SOURCE_NAME=MrBlake Forgejo STORE_DEFAULT_SOURCE_SLUG=mrblake-forgejo STORE_DEFAULT_BASE_URL=https://git.mrblake.cc STORE_DEFAULT_API_URL=https://git.mrblake.cc/api/v1 STORE_DEFAULT_OWNER=MrBlake STORE_DEFAULT_OWNER_KIND=user STORE_DEFAULT_TOPIC=netbox-plugin STORE_DEFAULT_TOKEN_ENV=GITEA_TOKEN GITEA_TOKEN= GITHUB_TOKEN= # In-container scheduler. CLI alternative: php bin/console sync --watch. STORE_SCHEDULER_ENABLED=true STORE_SYNC_INTERVAL_SECONDS=900 STORE_SYNC_MAX_SECONDS=900 STORE_SYNC_MAX_REQUESTS=2500 STORE_SYNC_MAX_BYTES=1073741824 STORE_SYNC_MAX_REPOSITORIES=2000 STORE_SYNC_MAX_RELEASES=1000 STORE_PAGE_SIZE=12 STORE_API_PAGE_SIZE=50 STORE_API_MAX_PAGE_SIZE=100