Files
MrBlake f36d6be511
CI / php-store (push) Waiting to run
CI / python-components (push) Waiting to run
feat: add NetBox plugin store
2026-08-24 20:51:25 +02:00

60 lines
2.2 KiB
Bash

# 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