Tom Butcher d867d017bb
Some checks reported errors
farmcontrol/farmcontrol-server/pipeline/head Something is wrong with the build of this commit
Enhance Electrobun configuration and build scripts
- 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.
2026-08-01 20:12:30 +01:00
2025-12-28 21:46:58 +00:00
2025-12-28 21:46:58 +00:00

Farm Control Server

Build Status

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

  1. Clone this repository
  2. Install dependencies:
    bun install
    
  3. Edit config.json for your environment
  4. 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:

  • logLevel
  • url (websocket server)
  • apiUrl
  • host.id and host.authCode
  • dataDir

License

MIT

Description
An app for Farmcontrol that bridges communication between Moonraker-controlled 3D printers and websockets.
Readme 5 MiB
Languages
JavaScript 93.9%
PowerShell 2.2%
NSIS 1.3%
CSS 1.1%
TypeScript 0.7%
Other 0.8%