Documentation

Built-in plugins

Review the built-in stack plugins and their configuration sections.

Stack plugin IDs are used in vectron.stack.toml through the required enabled array and by vectron stack --only/--skip filters. The accepted IDs below match the current code-level plugin catalog.

Use the vectron.stack.toml reference for exact field defaults and validation rules.

Use the stack examples for complete, copyable plugin combinations.

Foundation

IDRoleDependenciesConfiguration
certificatesGenerates local TLS certificates with mkcert.NoneNo dedicated config section. Added implicitly by nginx.
dnsmasqConfigures local DNS helpers and /etc/resolver.NoneNo dedicated config section.
sshBootstraps local SSH configuration used by the generated stack.NoneNo dedicated config section.

Reverse proxy

IDRoleDependenciesConfiguration
nginxProvides the HTTPS reverse proxy and landing page.Adds certificates implicitly.Uses [nginx], [nginx.landing], [[nginx.server]], server links, upstreams, and routes.

Observability

IDRoleDependenciesConfiguration
prometheusProvides metrics scraping and storage.NoneOptional [prometheus] with scrape_config_files.
lokiProvides log storage.NoneNo dedicated config section. Added implicitly by alloy.
alloyProvides Grafana Alloy pipelines, imports, raw blocks, and optional Docker log ingestion.Adds loki implicitly.Optional [alloy], [[alloy.import_files]], [alloy.docker_logs], and relabel rules.
grafanaProvides dashboards and datasources.NoneOptional [grafana] and [[grafana.dashboard_dirs]].

Datastores

IDRoleDependenciesConfiguration
mongodbProvides a local MongoDB service.NoneNo dedicated config section.
postgresqlProvides a local PostgreSQL service.NoneNo dedicated config section.
redisProvides a local Redis service.NoneNo dedicated config section.
neo4jProvides a local Neo4j service and optional schema provisioning.NoneOptional [neo4j] with schema_files.
minioProvides S3-compatible local object storage.NoneNo dedicated config section.
qdrantProvides a local Qdrant vector database.NoneNo dedicated config section.
influxdbProvides a local InfluxDB service.NoneNo dedicated config section.

Messaging and IoT

IDRoleDependenciesConfiguration
rabbitmqProvides RabbitMQ and vhost/queue provisioning.NoneRequires [rabbitmq] when enabled; uses [[rabbitmq.vhost]].
mosquittoProvides a local MQTT broker.NoneNo dedicated config section.
zigbee2mqttProvides a local Zigbee2MQTT service.NoneNo dedicated config section.

Containers and clusters

IDRoleDependenciesConfiguration
dockerAdds Docker daemon metrics scrape support.NoneNo dedicated config section.
kubernetesProvisions a local Kubernetes cluster.NoneOptional [kubernetes]; default driver is k3d, accepted drivers are kind, k3d, and minikube.

Selection rules

  • enabled = [...] in vectron.stack.toml must contain at least one plugin ID.
  • Plugin IDs must be unique and non-empty after trimming.
  • vectron stack provision/check/landing-ids --only replaces the initial enabled selection with the requested plugin IDs before implicit dependencies are added.
  • vectron stack provision/check/landing-ids --skip removes requested plugin IDs from the selected set.
  • nginx adds certificates.
  • alloy adds loki.

Recommendation

Start with a small enabled = [...] list, validate with vectron stack check, then add plugins incrementally. Use vectron stack landing-ids when configuring nginx.landing.quick_links.

Example starting points: