Skip to content

Jugg Backend Self-hosting Checklist

Start with the smallest useful backend, then add update delivery, diagnostics, or remote machine provisioning only when your team needs them.

Minimum Endpoints

EndpointMethodMinimum behavior
/check_updateGETReturn latest version metadata, optional notification, and optional project configuration
/report_eventPOSTAccept event JSON and return 2xx
/report_issuePOST multipartAccept a zipped log file and return 200
/check_hot_updateGETReturn an empty hot update result if hot update is not used

If you only need project configuration, return isNeedUpgrade=false from /check_update and put the configuration in customConfigJson.

/check_update Response

FieldMeaning
latestVersionLatest full plugin version known by the backend
isNeedUpgradeWhether the IDE should show a full-upgrade notification
downloadUrlDownload page or direct download URL
templateListLegacy field; return an empty array
notificationOptional IDE notification
customConfigJsonOptional project configuration applied by the plugin

Optional Endpoints

CapabilityEndpointsUse when
Full package download/download_page, /downloadYou publish Jugg plugin packages from an internal server
Hot update/check_hot_update, /download_hot_updateYou want jar-level plugin updates
Hot update status/check_hot_update_statusOperators need to inspect rollout state
Custom compiler download/download_custom_compilerProject configuration references hosted compiler jars
Remote server apply/remote_apply and related flow endpointsYour team has a remote build machine platform

Preflight Checks

  • The backend domain is reachable from developer machines.
  • Download URLs for plugin packages, hot update jars, and custom compiler jars are directly accessible.
  • Returned md5 values match the served files.
  • /report_issue accepts sufficiently large zip uploads.
  • Unused capabilities return empty results instead of 500 errors.