upboard (Update-Board) is a lightweight CLI tool used to manage and deliver updated versions of applications during development.
upboard helps you distribute software updates to clients by providing a simple HTTP server (upboard-server) and a file publisher (upboard-publish). Applications can check for and download updates dynamically at runtime using standard HTTP requests.
pip install upboardupboard-server --dir ./release-dir --port 5001 --password mysecret- Releases file hosted by the service from
./release-dir - Accepts authenticated
PUTuploads at/api/v1/releases/...
You can run upboard as a systemd service on Linux systems:
# 1. Copy and modify the service file to systemd directory:
sudo cp src/etc/systemd/upboard.service /etc/systemd/system/
# 2. Reload systemd daemon:
sudo systemctl daemon-reload
# 3. Start the service:
sudo systemctl start upboard
# 4. Enable auto-start on boot:
sudo systemctl enable upboard
# 5. To check service status:
systemctl status upboardTo run upboard as a Windows service, you can use NSSM (Non-Sucking Service Manager):
-
Download and install NSSM from: https://nssm.cc/
-
Open Command Prompt as Administrator and run:
nssm install upboard
-
In the NSSM service installer:
- Application Path: Path to your Python executable
- Arguments: -m upboard-server
- Startup Directory: Your release directory path
-
Start the service:
nssm start upboard
upboard-publish --password mysecret http://localhost:5001/api/v1/releases/win32/x64/ your-release-fileGET /api/v1/updates/your-project/win32/x64/your-release-file| Description | Method | Endpoint Example |
|---|---|---|
| Upload a new version | PUT | /api/v1/releases/<product>/<platform>/<arch>[/<version>]/<filename> |
| Check if a newer version exists | GET | /api/v1/updates/<product>/<platform>/<arch>[/<version>]/<filename> |
MIT License