A desktop application for Canvas with integrated local server capabilities.
Clone this repository:
git clone https://github.com/canvas-ai/canvas-electron.git
cd canvas-electron
Install dependencies:
npm install
Initialize the server submodule and install its dependencies:
npm run update-submodules
npm run install:server
Start the application in development mode:
npm start
When started, the app will:
You can also run the server separately using:
# Start the server with normal logging
npm run server:start
# Start the server with debug logging
npm run server:dev
# Build the server UI components
npm run server:build
Build the application:
npm run build
Package the application for distribution:
npm run package
The app provides multiple ways to connect to Canvas servers:
Local Server: Runs an instance of the Canvas server locally within the app using PM2
Remote Server: Connect to a remote Canvas server instance
PM2 is used to manage the local server process for several benefits:
The app uses PM2's programmatic API to:
If you encounter issues with the local server:
Check that the server submodule is properly initialized:
npm run update-submodules
npm run install:server
Make sure your system meets the requirements specified in the Canvas Server documentation
Check server logs by running with verbose logging:
npm run server:dev
View PM2 process list to check server status:
npx pm2 list
View detailed PM2 logs:
npx pm2 logs canvas-server
AGPL-3.0-or-later