Some checks reported errors
farmcontrol/farmcontrol-server/pipeline/head Something is wrong with the build of this commit
- Updated electrobun.config.ts to dynamically set the application version from package.json and added a release configuration for base URL. - Modified Jenkinsfile to include the ELECTROBUN_RELEASE_BASE_URL environment variable during the build process. - Refactored build-macos.mjs to streamline the build command execution for different architectures. - Enhanced finalize-desktop-artifacts.mjs to improve artifact handling and introduced a new pre-build script for validation of required files and environment variables. - Improved error handling and logging for better build process visibility.
Farm Control Server
A Bun application that bridges communication between Farm Control cloud services, local websocket clients, and connected printers.
Features
- Connects to the Farm Control websocket API
- Provides a local HTTP server for CLI and integrations
- Desktop UI built with React, Ant Design, and Electrobun
- Headless Linux service packaging for servers and Raspberry Pi hosts
- Relays printer and document printer state to the desktop UI
Requirements
- Bun 1.1 or newer
Installation
- Clone this repository
- Install dependencies:
bun install - Edit
config.jsonfor your environment - Start the server:
bun run dev
Development
- Headless server:
bun run dev - Desktop app with hot reload:
bun run dev:app - Renderer only:
bun run dev:renderer
Building
- Desktop app (current platform):
bun run build:app - Linux headless packages:
bun run build:linux
Electrobun handles desktop packaging. Linux headless builds use bun build --compile.
Configuration
config.json contains development and production sections. Each section supports:
logLevelurl(websocket server)apiUrlhost.idandhost.authCodedataDir
License
MIT
Languages
JavaScript
93.9%
PowerShell
2.2%
NSIS
1.3%
CSS
1.1%
TypeScript
0.7%
Other
0.8%