66 lines
3.2 KiB
YAML
66 lines
3.2 KiB
YAML
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
|