# Fluksio > Fluksio is a node-based automation engine. A flow is a graph of small > functions wired by message name, kept running by one resident engine. The > same engine serves two shapes of work: live flows that never end (buildings, > labs, homelabs) and batch runs that finish and leave a record (experiments, > ML pipelines, CI-style jobs). Self-hosted by default; an optional portal > exists only to reach an instance that has no inbound route. ## Getting started - [Pick your starting point](/getting-started/): the two setup paths and how to choose - [Data science](/getting-started/data-science/): pip install, wrap a training script, runs and sweeps - [Facility automation](/getting-started/facility-automation/): Docker stack, MQTT to dashboard, InfluxDB, workers ## Concepts - [Flows, nodes and messages](/concepts/flows/): the graph comes from message names, not drawn wires - [Where a node's values come from](/concepts/values/): ports, settings, flow inputs - [Keeping state in a flow](/concepts/state/): a message a node both reads and writes - [Runs: pipelines that finish](/concepts/runs/): batch mode, metrics, artifacts, sweeps, durability ## The interface - [The dashboard app](/interface/): the shell, Home, health and activity - [The flow editor](/interface/flow-editor/): canvas, node panel, dock, shortcuts, drafts - [Dashboards and panels](/interface/dashboards/): widgets, typed bindings, wall screens - [Secrets, modules and alerts](/interface/operations/): credentials, packages, failure routing - [Accounts and the portal](/interface/portal/): enrolment, remote users, revoking ## Code and the CLI - [The fluksio command](/code/cli/): serve, enroll, worker, and the data directory - [Writing node code](/code/nodes/): process(), generators, fluksio.emit, artifacts - [The HTTP API](/code/api/): auth, flows, messages, runs, observability, websocket - [Remote workers](/code/workers/): fluksio-worker, device labels, artifacts across hosts - [Agents over MCP](/code/agents/): the tool list and the security model - [Writing a connector](/code/connectors/): packaging a device integration as a node type ## Reference - [Node types](/reference/node-types/): every built-in type and its settings - [Payload types](/reference/payload-types/): float, int, str, bool, json, record, list, series, artifact - [Configuration](/reference/configuration/): every environment variable - [The connector contract](/reference/connector-contract/): what a connector package must provide