Deployment Instructions for rowboatlabs/rowboat: Complete Guide to Web, Desktop, and CLI
Deploy rowboatlabs/rowboat by using Vercel for the Next.js web apps, Electron Forge for the desktop application, or Docker Compose for the backend CLI services.
The rowboatlabs/rowboat repository is a mono-repo containing multiple runtime targets that require different deployment strategies. This guide provides the exact deployment instructions for each component, referencing specific file paths and commands found in the source code.
Deploy the Next.js Web Apps to Vercel
The repository contains two Next.js applications that deploy identically to Vercel: apps/rowboat (the main dashboard) and apps/rowboatx (the front-end UI).
Vercel Dashboard Deployment
According to apps/rowboat/README.md and apps/rowboatx/README.md, the standard Vercel deployment flow applies:
- Push the repository to GitHub
- In the Vercel dashboard, click "New Project"
- Select the repository and choose the specific folder (e.g.,
apps/rowboatx) - Accept the default build settings (Vercel auto-detects Next.js)
- Click "Deploy"
The Vercel documentation referenced in the README is available at https://vercel.com/docs/app/building-your-application/deploying.
Vercel CLI Deployment
For programmatic deployment, use the Vercel CLI:
# Install the Vercel CLI globally
npm i -g vercel
# From the repository root
vercel link
vercel --prod --cwd apps/rowboatx
Build and Package the Electron Desktop App
The Electron application resides in apps/x and uses Electron Forge for packaging.
Local Development
To run the desktop app in development mode:
cd apps/x
npm install
npm run deps # Builds shared → core → preload workspaces
npm run dev # Starts Electron with auto-reload
The deps script is defined in apps/x/package.json and ensures workspace dependencies are compiled before the main process starts.
Production Build and Packaging
The repository provides build-electron.sh at the root to streamline production builds:
# From the repository root
./build-electron.sh # Builds rowboatx UI and CLI dependencies
After running the build script, package the application:
cd apps/x
npm run package # Creates unsigned .app/.exe in ./out
npm run make # Creates distributable DMG (macOS) or installer (Windows)
The packaging configuration is defined in apps/x/apps/main/forge.config.cjs, which controls code signing, platform targets, and output formats.
Run the CLI and Backend Services
The CLI and backend services are located in apps/cli.
Node.js Execution
cd apps/cli
npm install
npm run build # Compiles TypeScript to JavaScript
npm start # Launches the server (respects PORT env variable)
Docker Compose Deployment
For containerized deployment, use the root-level docker-compose.yml:
docker compose up --build
This command launches the documentation site and any helper containers defined in the compose configuration. The CLI service becomes available at http://localhost:3000 (or the port specified by the PORT environment variable).
Deploy Custom LLM Backends (Experimental)
For deploying custom LLM backends using Ollama or OpenAI-compatible servers, refer to apps/docs/docs/using-rowboat/custom-llms.mdx. This documentation provides Docker Compose configurations for running local models alongside the Rowboat services.
Summary
- Web Deployment: Deploy
apps/rowboatandapps/rowboatxto Vercel using either the dashboard or CLI (vercel --prod --cwd apps/rowboatx) - Desktop Deployment: Build the Electron app in
apps/xusing./build-electron.sh, then runnpm run packageornpm run makein theapps/xdirectory - Backend Deployment: Run
apps/clidirectly withnpm startor containerize withdocker compose up --buildfrom the repository root - Key Files:
build-electron.sh,apps/x/package.json,apps/x/apps/main/forge.config.cjs,docker-compose.yml
Frequently Asked Questions
How do I deploy the rowboat web dashboard to Vercel?
Push the repository to GitHub, create a new project in the Vercel dashboard, select the apps/rowboat folder, and click Deploy. Vercel automatically detects the Next.js configuration. Alternatively, use the Vercel CLI with vercel --prod --cwd apps/rowboat.
What is the build process for the rowboat Electron desktop app?
First run ./build-electron.sh from the repository root to compile the UI and CLI dependencies. Then navigate to apps/x and run npm run package to create the application binary or npm run make to generate a distributable installer. The build configuration is defined in apps/x/apps/main/forge.config.cjs.
Can I run rowboat backend services in Docker?
Yes. The repository includes a docker-compose.yml file in the root directory. Run docker compose up --build to containerize the CLI service and documentation site. The CLI service listens on the port specified by the PORT environment variable, defaulting to 3000.
Where are the deployment scripts located in the repository?
Key deployment files include build-electron.sh (Electron build automation), docker-compose.yml (container orchestration), apps/x/package.json (Electron npm scripts), and apps/rowboat/README.md / apps/rowboatx/README.md (Vercel deployment instructions). The Electron Forge configuration resides at apps/x/apps/main/forge.config.cjs.
Have a question about this repo?
These articles cover the highlights, but your codebase questions are specific. Give your agent direct access to the source. Share this with your agent to get started:
curl -s "https://instagit.com/install.md" Maintain an open-source project? Get it listed too →