docs: comprehensive documentation overhaul

Add complete documentation structure:
- Frontend architecture documentation
- Database schema documentation
- Deployment guides (Docker, Traefik, Authentik, Environment)
- Development guides (Setup, Testing, Contributing, Quality Gates)
- Deployment architecture documentation
- Updated docs README with complete navigation

All new features and APIs are now documented.
Quality gates: docs only, no code changes
This commit is contained in:
Fusion
2026-05-19 14:18:20 +02:00
parent 6807f449b7
commit 83f94b1f09
31 changed files with 5498 additions and 0 deletions
+104
View File
@@ -0,0 +1,104 @@
# Tool Types
## Overview
Tool types define development tools that can be spawned for projects. Headquarter includes built-in types and supports creating custom tool types with Docker Compose templates.
## How to Use
### Built-in Tool Types
Headquarter includes these built-in tool types:
#### VS Code Server
- **Image**: `lscr.io/linuxserver/code-server:latest`
- **Purpose**: Full VS Code in the browser
- **Features**: Extensions, terminal, debugging
- **Access**: Port 8443
#### Jupyter Notebook
- **Image**: `jupyter/scipy-notebook:latest`
- **Purpose**: Interactive Python development
- **Features**: Notebooks, data visualization
- **Access**: Port 8888
### Managing Tool Types
#### Viewing Tool Types
1. Navigate to **Settings****Tool Types**
2. See a list of all tool types
3. Built-in types are marked with a badge
#### Creating Custom Tool Types
1. Click **"New Tool Type"**
2. Fill in the form:
- **Name**: Unique identifier (e.g., `my-custom-tool`)
- **Display Name**: Human-readable name
- **Description**: What this tool does
- **Compose Template**: Docker Compose YAML
3. Click **"Create"**
#### Compose Template Format
The compose template uses Docker Compose syntax with template variables:
```yaml
version: "3.8"
services:
my-tool:
image: my-image:latest
container_name: {{TOOL_NAME}}
environment:
- VARIABLE=value
volumes:
- {{REPO_PATH}}:/workspace
ports:
- "8080:8080"
```
**Required Variables:**
- `{{TOOL_NAME}}` - Unique name for the container
- `{{REPO_PATH}}` - Path to the repository
#### Validating Templates
The system validates templates:
- Must be valid YAML
- Must contain a `services` section
- Must use all required variables
- Invalid templates will be rejected
#### Editing Tool Types
1. Find the tool type in the list
2. Click **"Edit"**
3. Update fields
4. Click **"Save"**
**Note:** Built-in tool types cannot be modified or deleted.
#### Deleting Tool Types
1. Find the tool type in the list
2. Click **"Delete"**
3. Confirm deletion
**Note:** Built-in tool types cannot be deleted.
## API Reference
### Endpoints
- `GET /tool-types` - List tool types
- `POST /tool-types` - Create tool type
- `GET /tool-types/{id}` - Get tool type details
- `PUT /tool-types/{id}` - Update tool type
- `DELETE /tool-types/{id}` - Delete tool type
See [Tool Types API](../api/tool-types.md) for detailed endpoint documentation.
## Related Features
- [Tool Instances](tool-instances.md) - Spawn and manage tool instances