Architecture
Understanding Knot architecture helps you design effective deployments.
Core Components
Server The knot server provides the web interface, API, and manages all resources. It stores data in a database and coordinates with agents.
Agent The agent runs inside containers and communicates with the server. It handles SSH, terminal access, and space lifecycle commands.
Database Stores users, templates, spaces, and configuration. Options: BadgerDB, MySQL/MariaDB, PostgreSQL, or Redis/Valkey.
File Storage Experimental
Optional buckets of files, kept in a storage directory on each server rather than in the database and replicated to every server in the cluster. Reached from the web interface, knot file, the knot.files library, the API and, on Knot Pro, an S3 endpoint.
Container Runtime Executes spaces. Options include: Docker, Podman, Nomad, or Apple Container.
Topics
- Deployment Modes: The three knot deployment modes — standalone, cluster, and leaf — their trade-offs, and how zones organize servers.
- Clusters: How knot's leaderless cluster works — equal servers, gossip sync, data flow, high availability, and disaster recovery.
- Network: knot's network configuration — ports, client/agent/server communication paths, and TLS/VPN hardening guidance.
- Scalability: Scaling strategies and performance for knot — vertical and horizontal scaling, database options, and resource tuning.