Skip to main content
Tascarrel is alpha software and may break. We’re looking for your feedback — share it on GitHub.
Documentation

Tascarrel Executables

The tascarrel executable runs the server. The tascarrelctl executable covers installation, diagnostics, service management, and workspace VM lifecycle. Pod creation and development work happen in the UI.

Run the Server

tascarrel [SERVER OPTIONS]

The server serves its startup and application UI at http://tascarrel.localhost:8272. It publishes host checks, payload extraction progress, and actionable startup failures before initializing workspace services. Browser API access requires a paired session.

Administrative CLI

tascarrelctl [--socket <PATH>] <COMMAND>

The global --socket option selects a non-default host control socket and can also be supplied as TASCARREL_SOCKET.

Maintain Tascarrel

CommandBehavior
tascarrelctl install [--server <PATH>]Install a server executable and enable the per-user service
tascarrelctl doctorCheck host architecture, QEMU, acceleration, Git, SOPS, and service management
tascarrelctl doctor --jsonEmit the diagnostic report as JSON

Workspaces

CommandBehavior
tascarrelctl workspace listPrint configured workspace names
tascarrelctl workspace create <NAME>Create a workspace with the minimal Debian development image
tascarrelctl workspace start <NAME>Start its VM and wait until it is ready
tascarrelctl workspace stop <NAME>Stop its VM while preserving pods and configuration
tascarrelctl workspace info <NAME>Show current VM state or startup failure
tascarrelctl workspace info <NAME> --jsonEmit the complete workspace record as JSON
tascarrelctl workspace delete <NAME>Stop and permanently delete the workspace and all pods after confirmation
tascarrelctl workspace delete <NAME> --forceDelete without interactive confirmation

Browser Authentication

CommandBehavior
tascarrelctl auth pair [--label <LABEL>]Create a ten-minute, single-use browser pairing key
tascarrelctl auth sessionsList active browser sessions
tascarrelctl auth sessions --jsonEmit active browser sessions as JSON
tascarrelctl auth revoke <BROWSER_SESSION_ID>Revoke one browser session and its derived HTTP route grants

Daemon

CommandBehavior
tascarrelctl daemon startStart the installed per-user service
tascarrelctl daemon stopStop it
tascarrelctl daemon restartRestart it
tascarrelctl daemon statusShow service-manager status and fail when inactive
tascarrelctl daemon logsShow recent service logs
tascarrelctl daemon logs --followContinue displaying new log messages

Run tascarrelctl <COMMAND> --help for the exact syntax supported by the installed version.

Host Environment

VariablePurpose
TASCARREL_HOMEAbsolute configuration and state root; the installer defaults to $HOME/.tascarrel
TASCARREL_SOCKETOverride the local host control socket
TASCARREL_QEMUSelect the QEMU system executable
TASCARREL_GITSelect the host Git executable
TASCARREL_SOPSSelect the host SOPS executable
TASCARREL_WEB_ADDRESSOverride the UI address
TASCARREL_HOST_PORT_HOSTSelect the outer host for configured workspace host-port mappings

A binary run without the installer defaults TASCARREL_HOME to .tascarrel in the current directory.

The server installer also accepts TASCARREL_VERSION, TASCARREL_SOPS_VERSION, TASCARREL_GITHUB_REPOSITORY, and TASCARREL_RELEASE_BASE_URL. It places the server and CLI executables in $HOME/.local/bin.

Host Data

$TASCARREL_HOME/
├── config/
│   ├── server.toml
│   └── workspaces/<name>/
├── state/
│   ├── payloads/<sha256>/
│   ├── auth/
│   │   ├── key
│   │   └── sessions.sqlite3
│   ├── runtime/
│   │   └── control.sock
│   └── workspaces/<name>/

The optional config/server.toml file contains host-wide settings. The remaining config directory contains workspace inputs. The state/auth directory contains persistent browser authentication state, state/payloads contains verified embedded assets, state/runtime contains transient sockets, and state/workspaces contains persistent VM state. Restart the service after editing server.toml. Do not edit state while the service is running.