Module: VIBE

Deploy an AI coding sandbox with Pigsty: Code-Server, JupyterLab, Node.js, and Claude Code.

The VIBE module provides a browser-based dev environment with Code-Server, JupyterLab, Node.js, and Claude Code, and can work with JUICE shared storage and PGSQL database capabilities.

VIBE depends on NODE and INFRA:

  • NODE provides base software and Python uv environment
  • INFRA provides Nginx reverse proxy, Grafana and portal entry

Components

ComponentDescriptionLocal PortAccess Path
Code-ServerVS Code in browser8443/code/
JupyterLabInteractive notebooks8888/jupyter/
Node.jsRuntime and npm-CLI
Claude CodeCLI + observability config-CLI / Grafana

Notes:

  • Code-Server listens on 127.0.0.1:8443, exposed via Nginx
  • JupyterLab listens on 0.0.0.0:8888, base path /jupyter/
  • Module default is jupyter_enabled: false, while conf/vibe.yml template explicitly enables Jupyter

Quick Start

./configure -c vibe
./deploy.yml        # NODE + INFRA + PGSQL
./juice.yml         # optional shared storage
./vibe.yml          # VIBE

Default entry points (via infra_portal.home):

  • Code-Server: https://<domain>/code/
  • JupyterLab: https://<domain>/jupyter/
  • Claude Dashboard: https://<domain>/ui/d/claude-code

Features

  • Unified workspace: vibe_data as root for Code-Server and Jupyter
  • Optional shared storage: work with JUICE for multi-node sharing
  • Observability: Claude Code OpenTelemetry integrates with VictoriaMetrics/VictoriaLogs
  • Composable: enable Code/Jupyter/Node.js/Claude as needed

Documentation


Configuration

VIBE module configuration for Code-Server, JupyterLab, Node.js, and Claude Code.

Parameters

VIBE module parameters (16 total).

Playbook

VIBE module Ansible playbook guide.

Administration

VIBE module operations and common admin tasks.

Monitoring

VIBE monitoring, focusing on Claude Code observability.

FAQ

VIBE module frequently asked questions.