Mushin Docs / Deployment & Operations

Deployment & Operations

Mushin and the Workbench are self-hosted: you run them in your own environment, and the applications they generate run there too. This page covers the command line, packaging, and what the platform depends on — an operator’s overview.

The nds command line

The platform’s server is driven by the nds command-line tool. Alongside nds generate (covered in Code Generation ), it provides the operational commands you need to run a Workbench instance:

CommandWhat it does
nds serveRun the Workbench server
nds generateGenerate an application from a project
nds migratedbSet up and migrate the database

The command line is how generation and operation fit into scripts and automated pipelines, so a Workbench instance can be managed the same way as any other service.

Packaging

Each Nandeshou service, Workbench included, is packaged as a standard Debian package (.deb) that bundles the server binary, the web interface, a service definition to run it, and a web-server configuration to serve it. Installing the package sets the service up to run under the system’s service manager, so deploying an instance is a matter of installing a package and providing its configuration.

What the platform depends on

A Workbench instance relies on a small set of infrastructure services, which you run in your environment:

  • PostgreSQL — the database that stores your projects, their design history, and metadata.
  • NATS — the messaging backbone the platform uses to coordinate, including generating the unique identifiers every record needs.
  • Vault — secure storage for secrets and credentials.

Configuration for an instance is deliberately small — the service reads a short configuration file and draws its secrets from Vault at runtime, rather than keeping them on disk. This keeps each instance simple to stand up and to operate.

Running generated applications

The applications Mushin generates follow the same shape as the platform itself — a Go backend and a TypeScript frontend, packaged the same way and depending on the same kind of infrastructure. That consistency means a team already running the platform can deploy a generated application with the tools and knowledge they already have.