Skip to content

Commit 00c3058

Browse files
committed
docs: refresh VIBE module docs
1 parent 0435093 commit 00c3058

File tree

7 files changed

+367
-2066
lines changed

7 files changed

+367
-2066
lines changed

content/docs/vibe/_index.md

Lines changed: 34 additions & 159 deletions
Original file line numberDiff line numberDiff line change
@@ -1,195 +1,70 @@
11
---
22
title: "Module: VIBE"
33
weight: 4800
4-
description: Deploy AI coding sandbox with Pigsty, including Code-Server, JupyterLab, and Claude Code.
4+
description: Deploy an AI coding sandbox with Pigsty: Code-Server, JupyterLab, Node.js, and Claude Code.
55
icon: fas fa-laptop-code
66
module: [VIBE]
77
categories: [Reference]
88
---
99

10-
VIBE module provides a complete **cloud development environment**, integrating browser-based VS Code, interactive computing platform JupyterLab, and AI coding assistant Claude Code.
11-
Combined with JuiceFS distributed filesystem and feature-rich PostgreSQL, it creates a ready-to-use **AI coding sandbox**.
10+
The VIBE module provides a **browser-based dev environment** with Code-Server, JupyterLab, Node.js, and Claude Code,
11+
and can work with [`JUICE`](/docs/juice) shared storage and [`PGSQL`](/docs/pgsql) database capabilities.
1212

13+
VIBE depends on [`NODE`](/docs/node) and [`INFRA`](/docs/infra):
14+
15+
- `NODE` provides base software and Python `uv` environment
16+
- `INFRA` provides Nginx reverse proxy, Grafana and portal entry
1317

1418
--------
1519

1620
## Components
1721

18-
VIBE module includes three core components:
19-
20-
| Component | Description | Default Port | Access Path |
21-
|:----------------|:------------------------------------------------|:-------------|:-----------------|
22-
| **Code-Server** | VS Code in browser, full cloud IDE experience | 8443 | `/code/` |
23-
| **JupyterLab** | Interactive computing, Notebook/terminal/editor | 8888 | `/jupyter/` |
24-
| **Claude Code** | Anthropic's AI coding assistant CLI with observability | - | CLI / Dashboard |
22+
| Component | Description | Local Port | Access Path |
23+
|:-----|:-----|:--------:|:---------|
24+
| Code-Server | VS Code in browser | 8443 | `/code/` |
25+
| JupyterLab | Interactive notebooks | 8888 | `/jupyter/` |
26+
| Node.js | Runtime and npm | - | CLI |
27+
| Claude Code | CLI + observability config | - | CLI / Grafana |
2528
{.full-width}
2629

30+
Notes:
2731

28-
--------
29-
30-
## Architecture
31-
32-
VIBE components deploy as systemd services, exposed via Nginx reverse proxy with HTTPS:
33-
34-
```
35-
User Browser
36-
37-
├── https://h.pigsty/code/ ─────► Code-Server (127.0.0.1:8443)
38-
├── https://h.pigsty/jupyter/ ─────► JupyterLab (127.0.0.1:8888)
39-
└── https://h.pigsty:3000/d/claude-code ──► Grafana Dashboard
40-
41-
Command Line
42-
└── ssh user@h.pigsty ──► Claude Code CLI
43-
44-
Shared Storage
45-
└── JuiceFS (/fs) ─────► PostgreSQL (metadata + data)
46-
```
47-
48-
49-
--------
50-
51-
## Features
52-
53-
- **Cloud IDE**: Access full VS Code dev environment via browser, code anywhere
54-
- **Interactive Computing**: JupyterLab provides Notebook, terminal, editor multi-functional interface
55-
- **AI Assistant**: Claude Code CLI with OpenTelemetry observability for monitoring and analysis
56-
- **Shared Storage**: JuiceFS enables filesystem sharing with point-in-time recovery (PITR)
57-
- **Rich PostgreSQL**: 400+ extensions pre-installed covering vector, timeseries, geo, analytics
58-
- **One-Click Deploy**: Automated installation via Ansible playbooks, ready out-of-box
59-
32+
- Code-Server listens on `127.0.0.1:8443`, exposed via Nginx
33+
- JupyterLab listens on `0.0.0.0:8888`, base path `/jupyter/`
6034

6135
--------
6236

6337
## Quick Start
6438

65-
### 1. Prepare Config
66-
67-
Use `vibe` config template:
68-
6939
```bash
7040
./configure -c vibe
41+
./deploy.yml # NODE + INFRA + PGSQL
42+
./juice.yml # optional shared storage
43+
./vibe.yml # VIBE
7144
```
7245

73-
### 2. Deploy Infrastructure
74-
75-
```bash
76-
./deploy.yml # Deploy INFRA + PGSQL
77-
./juice.yml # Deploy JuiceFS shared storage (optional)
78-
```
79-
80-
### 3. Deploy VIBE Module
81-
82-
```bash
83-
./vibe.yml # Deploy Code-Server + JupyterLab + Claude Code
84-
```
85-
86-
### 4. Access Services
87-
88-
| Service | URL | Default Credential |
89-
|:-------------|:----------------------------------|:-------------------|
90-
| Code-Server | `https://<ip>/code/` | `Code.Server` |
91-
| JupyterLab | `https://<ip>/jupyter/` | `Jupyter.Lab` |
92-
| Claude Monitor | `https://<ip>:3000/d/claude-code` | Grafana creds |
93-
{.full-width}
94-
95-
96-
--------
97-
98-
## Config Example
99-
100-
Typical VIBE configuration (see [`conf/vibe.yml`](/docs/conf/vibe/)):
101-
102-
```yaml
103-
all:
104-
children:
105-
infra:
106-
hosts:
107-
10.10.10.10:
108-
# VIBE component config
109-
vibe_data: /fs # Working directory (JuiceFS mount)
110-
code_enabled: true # Enable Code-Server
111-
code_password: 'Code.Server' # Code-Server password
112-
jupyter_enabled: true # Enable JupyterLab
113-
jupyter_password: 'Jupyter.Lab' # JupyterLab Token
114-
claude_enabled: true # Enable Claude Code
115-
116-
# JuiceFS shared storage
117-
juice_instances:
118-
jfs:
119-
path: /fs
120-
meta: postgres://dbuser_meta:DBUser.Meta@10.10.10.10:5432/meta
121-
data: --storage postgres --bucket postgres://dbuser_meta:DBUser.Meta@10.10.10.10:5432/meta?prefix=juice
122-
```
46+
Default entry points (via `infra_portal.home`):
12347

48+
- Code-Server: `https://<domain>/code/`
49+
- JupyterLab: `https://<domain>/jupyter/`
50+
- Claude Dashboard: `https://<domain>/ui/d/claude-code`
12451

12552
--------
12653

127-
## Pre-installed Tools
128-
129-
VIBE config template includes these development tools:
130-
131-
| Tool | Description |
132-
|:---------------|:---------------------------------|
133-
| `claude` | Anthropic Claude Code CLI |
134-
| `opencode` | Open-source AI coding assistant |
135-
| `code-server` | VS Code in browser |
136-
| `golang` | Go language toolchain |
137-
| `nodejs` | Node.js runtime |
138-
| `uv` | High-performance Python package manager |
139-
| `postgrest` | PostgreSQL RESTful API service |
140-
| `genai-toolbox`| Google GenAI Toolbox MCP service |
141-
| `restic` | Incremental backup tool |
142-
| `rclone` | Cloud storage sync tool |
143-
| `asciinema` | Terminal recording tool |
144-
{.full-width}
145-
146-
147-
--------
148-
149-
## PostgreSQL Extensions
150-
151-
VIBE template PostgreSQL includes rich extensions:
152-
153-
- **Vector Search**: `pgvector`, `pgvectorscale`
154-
- **Time Series**: `timescaledb`, `pg_timeseries`
155-
- **Geospatial**: `postgis`, `h3`, `pgrouting`
156-
- **Analytics**: `pg_duckdb`, `pg_analytics`, `hydra`
157-
- **Full-text Search**: `pg_search`, `zhparser`
158-
- **Security**: `pg_tde`, `supabase_vault`, `pgsodium`
159-
- **More**: See [Extension Catalog](https://pgext.cloud)
160-
161-
162-
--------
163-
164-
## Use Cases
165-
166-
- **AI-Assisted Dev**: Use Claude Code for intelligent coding, boost productivity
167-
- **Data Science**: JupyterLab + PostgreSQL + vector/timeseries extensions for analytics platform
168-
- **Remote Dev**: Access full dev environment via browser on any device
169-
- **Training**: Quickly setup standardized learning environments
170-
- **Prototyping**: Rapidly build PoC environments, validate technical solutions
171-
172-
173-
--------
174-
175-
## Notes
176-
177-
{{% alert title="Security Warning" color="warning" %}}
178-
- Always change default passwords (`code_password`, `jupyter_password`)
179-
- Production: configure firewall to restrict access sources
180-
- Claude Code requires API Key configuration
181-
{{% /alert %}}
54+
## Features
18255

56+
- **Unified workspace**: `vibe_data` as root for Code-Server and Jupyter
57+
- **Optional shared storage**: work with `JUICE` for multi-node sharing
58+
- **Observability**: Claude Code OpenTelemetry integrates with VictoriaMetrics/VictoriaLogs
59+
- **Composable**: enable Code/Jupyter/Node.js/Claude as needed
18360

18461
--------
18562

18663
## Documentation
18764

188-
- [**Configuration**](/docs/vibe/config/): How to configure VIBE module components
189-
- [**Parameters**](/docs/vibe/param/): All VIBE module config parameters
190-
- [**Playbook**](/docs/vibe/playbook/): Deploy and manage VIBE with Ansible playbooks
191-
- [**Administration**](/docs/vibe/admin/): Daily management and operations guide
192-
- [**Monitoring**](/docs/vibe/monitor/): Monitoring metrics and Dashboard guide
193-
- [**FAQ**](/docs/vibe/faq/): Common questions and answers
194-
195-
65+
- [**Configuration**](config): component config and workspace settings
66+
- [**Parameters**](param): VIBE parameter list and defaults
67+
- [**Playbook**](playbook): `vibe.yml` usage and tags
68+
- [**Administration**](admin): operations, passwords, and extensions
69+
- [**Monitoring**](monitor): Claude Code metrics and logs
70+
- [**FAQ**](faq): common questions

0 commit comments

Comments
 (0)