name: mrblake-netbox-plugin-store services: store: build: context: ./store image: mrblake/netbox-plugin-store:local restart: unless-stopped ports: - "${STORE_BIND_ADDRESS:-127.0.0.1}:${STORE_HTTP_PORT:-8080}:80" environment: APP_ENV: "${APP_ENV:-production}" STORE_PUBLIC_URL: "${STORE_PUBLIC_URL:-http://localhost:8080}" STORE_COOKIE_SECURE: "${STORE_COOKIE_SECURE:-false}" STORE_TRUST_PROXY: "${STORE_TRUST_PROXY:-false}" STORE_TRUSTED_PROXY_IPS: "${STORE_TRUSTED_PROXY_IPS:-127.0.0.1,::1}" STORE_SESSION_NAME: "${STORE_SESSION_NAME:-netbox_plugin_store}" STORE_ADMIN_USERNAME: "${STORE_ADMIN_USERNAME:-}" STORE_ADMIN_PASSWORD_HASH: "${STORE_ADMIN_PASSWORD_HASH:-}" STORE_SESSION_SECRET: "${STORE_SESSION_SECRET:-}" STORE_ADMIN_SESSION_TTL: "${STORE_ADMIN_SESSION_TTL:-28800}" STORE_LOGIN_MAX_ATTEMPTS: "${STORE_LOGIN_MAX_ATTEMPTS:-5}" STORE_LOGIN_WINDOW_SECONDS: "${STORE_LOGIN_WINDOW_SECONDS:-900}" STORE_DB_DRIVER: "${STORE_DB_DRIVER:-json}" STORE_JSON_PATH: "/var/www/html/data/store.json" STORE_ALLOWED_SOURCE_HOSTS: "${STORE_ALLOWED_SOURCE_HOSTS:-git.mrblake.cc,github.com,api.github.com,*.github.com,*.githubusercontent.com}" STORE_ALLOW_PRIVATE_NETWORKS: "${STORE_ALLOW_PRIVATE_NETWORKS:-false}" STORE_HTTP_TIMEOUT_SECONDS: "${STORE_HTTP_TIMEOUT_SECONDS:-20}" STORE_MAX_METADATA_BYTES: "${STORE_MAX_METADATA_BYTES:-2097152}" STORE_MAX_ARTIFACT_BYTES: "${STORE_MAX_ARTIFACT_BYTES:-536870912}" STORE_USER_AGENT: "${STORE_USER_AGENT:-MrBlake-NetBox-Plugin-Store/1.0}" STORE_DEFAULT_PROVIDER: "${STORE_DEFAULT_PROVIDER:-forgejo}" STORE_DEFAULT_SOURCE_NAME: "${STORE_DEFAULT_SOURCE_NAME:-MrBlake Forgejo}" STORE_DEFAULT_SOURCE_SLUG: "${STORE_DEFAULT_SOURCE_SLUG:-mrblake-forgejo}" STORE_DEFAULT_BASE_URL: "${STORE_DEFAULT_BASE_URL:-https://git.mrblake.cc}" STORE_DEFAULT_API_URL: "${STORE_DEFAULT_API_URL:-https://git.mrblake.cc/api/v1}" STORE_DEFAULT_OWNER: "${STORE_DEFAULT_OWNER:-MrBlake}" STORE_DEFAULT_OWNER_KIND: "${STORE_DEFAULT_OWNER_KIND:-user}" STORE_DEFAULT_TOPIC: "${STORE_DEFAULT_TOPIC:-netbox-plugin}" STORE_DEFAULT_TOKEN_ENV: "${STORE_DEFAULT_TOKEN_ENV:-GITEA_TOKEN}" GITEA_TOKEN: "${GITEA_TOKEN:-}" GITHUB_TOKEN: "${GITHUB_TOKEN:-}" STORE_SCHEDULER_ENABLED: "${STORE_SCHEDULER_ENABLED:-true}" STORE_SYNC_INTERVAL_SECONDS: "${STORE_SYNC_INTERVAL_SECONDS:-900}" STORE_SYNC_MAX_SECONDS: "${STORE_SYNC_MAX_SECONDS:-900}" STORE_SYNC_MAX_REQUESTS: "${STORE_SYNC_MAX_REQUESTS:-2500}" STORE_SYNC_MAX_BYTES: "${STORE_SYNC_MAX_BYTES:-1073741824}" STORE_SYNC_MAX_REPOSITORIES: "${STORE_SYNC_MAX_REPOSITORIES:-2000}" STORE_SYNC_MAX_RELEASES: "${STORE_SYNC_MAX_RELEASES:-1000}" STORE_PAGE_SIZE: "${STORE_PAGE_SIZE:-12}" STORE_API_PAGE_SIZE: "${STORE_API_PAGE_SIZE:-50}" STORE_API_MAX_PAGE_SIZE: "${STORE_API_MAX_PAGE_SIZE:-100}" volumes: - store-data:/var/www/html/data security_opt: - no-new-privileges:true networks: - store-internal volumes: store-data: networks: store-internal: driver: bridge