Mongoose daemon mode


Mongoose is a daemon mode of SWUpdate that provides a web server, web interface and web application.

The web application in web-app uses the Node.js package manager and gulp as build tool. It depends on Bootstrap 4, Font Awesome 5 and Dropzone.js.


After having configured and compiled SWUpdate with enabled mongoose web server:

./swupdate --help

lists the mandatory and optional arguments to be provided to mongoose. As an example,

./swupdate -l 5 -w '-r ./examples/www/v2 -p 8080' -p 'reboot'

runs SWUpdate in mongoose daemon mode with log-level TRACE and a web server at http://localhost:8080.


The ready to use example of the web application in the examples/www/v2 directory uses a Public Domain background.jpg image from pixabay with is released under the Creative Commons CC0 license. The used favicon.png and logo.png images are made from the SWUpdate logo and therefore subject to the GNU General Public License version 2. You must comply to this license or replace the images with your own files.


You could customize the web application inside the web-app directory. Beside the replace of the favicon.png, logo.png and background.jpg images inside the images directory you could customize the Bootstrap colors and settings inside the scss/bootstrap.scss style sheet. The style sheet changes need a rebuild of the web application source code.


The development requires Node.js version 18 or greater and a prebuilt SWUpdate project with enabled mongoose web server and web application interface version 2 support.

  1. Enter the web application directory:

    cd ./web-app
  2. Install the dependencies:

    npm install
  3. Build the web application:

    npm run build
  4. Start the web application:

    ../swupdate -w '-r ./dist -p 8080' -p 'echo reboot'
  5. Test the web application:

  6. Pack the web application (optional):

    npm run package -- --output swupdate-www.tar.gz


Please run the linter before any commit

npm run lint