feat: add NetBox plugin store
This commit is contained in:
@@ -0,0 +1,65 @@
|
||||
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
|
||||
Reference in New Issue
Block a user