Best Practices
Guidelines for deploying and managing Knot effectively. Topic guides live in their own pages:
- Security — authentication hardening, data protection, monitoring, network
- Backup & Restore — every
knot backup/knot restoreflag plus an automation script - Access Control — roles, groups, quotas, and the permission reference
- UI Customization — branding and logo configuration
- Variables — variable hygiene for templates
Template Design
- Keep templates simple. Start minimal and add complexity as needed; simple templates are easier to maintain and troubleshoot.
- Use descriptive names:
ubuntu-python-dev,nodejs-testing,php-web-server. - Define volumes for persistence — home directories, project files, database data.
- Document custom fields so users understand what values to provide.
Resource Units
Set units to match what the template actually consumes:
| Template class | Cores | Compute units | Storage units |
|---|---|---|---|
| Light (CLI tools, agents) | 1-2 | 1-2 | 1-2 |
| Medium (web stacks) | 2-4 | 3-5 | 3-5 |
| Heavy (builds, databases) | 4+ | 6+ | 6+ |
Set a maximum uptime that matches the use case — 8-12 hours for development, 1-2 hours for demos — and use schedules to stop spaces outside working hours.
Maintenance
- Version control template definitions for tracking changes and rollback.
- Test template changes before rolling them out to users; a template update prompts existing spaces to restart.
- Mark unused templates inactive rather than deleting them, to preserve history.
- Encourage cleanup of stopped spaces that are no longer needed.