跳转到内容

Configuration

此内容尚不支持你的语言。

MiniGateway stores configuration in a SQLite database. You can manage settings through:

  • Admin API - RESTful endpoints at /admin/
  • Web Dashboard - Visual interface at /ui/
  • CLI Commands - minigateway admin command-line administration

MiniGateway uses platform-specific directories for storing configuration and data files:

PlatformConfig Directory
macOS~/Library/Application Support/minigateway/
Linux~/.config/minigateway/
Windows%APPDATA%/minigateway/ (e.g., C:\Users\...\AppData\Roaming\minigateway\)
FileDescription
minigateway.dbSQLite database (services, routes, plugins, etc.)
cli-config.jsonCLI configuration (API URL, auth token)

Create a YAML configuration template:

Terminal window
# Default path (platform-specific config directory)
minigateway init
# Custom path
minigateway init ./my-config.yaml
# Force overwrite existing file
minigateway init --force

By default, MiniGateway stores its database in the platform-specific config directory.

Customize the database location:

Terminal window
minigateway start --db /custom/path/database.db

MiniGateway manages several interconnected entities:

EntityDescription
ServiceTop-level API service grouping
RoutePath matching rules for incoming requests
UpstreamBackend server pool with load balancing
TargetIndividual backend server in an upstream
ConsumerAPI consumer/client identity
CredentialAuthentication credentials for consumers
Plugin BindingPlugin configurations attached to entities
LLM ProviderLLM API provider configuration
LLM ModelModel mapping and routing rules

The entities form a hierarchical structure:

Service
├── Route (matches incoming requests)
│ ├── Upstream (load balancing pool)
│ │ └── Target (backend servers)
│ └── Plugin Bindings (route-level plugins)
├── Consumer (API client)
│ └── Credential (authentication)
└── Plugin Bindings (service-level plugins)
Terminal window
# Default port (8080)
minigateway start
# Custom port
minigateway start --port 3000

MiniGateway enables CORS by default for development. Configure in production:

Terminal window
# With UI (default)
minigateway start
# Without UI (Admin API only)
minigateway start --no-ui
Terminal window
minigateway start --ui-dist /path/to/custom/ui