A simple web server for local web development.
.dmg for mac, the
.exe for Windows, or the
.AppImage for Linux.
Servez is an stand alone app that runs a simple web server. with a GUI to start/stop and choose a folder to serve.
I’ve worked with many people, often students, who are not comfortable with command lines and certainly not comfortable setting up a big server like Apache.
Servez provides them with an easy way to get started without having to install multiple dependencies nor having to integrate things with their system. No adding to paths, no downloading 3 different pieces of software. Just run and start.
Servez has an option to serve HTTPS. Servez uses a self signed certificate which means your browser will complain that the certificate is not valid. You can click “advanced” on the warning page and then “Proceed to <localhost>” to load the page.
The point of HTTPS support in Servez is to make it easy to access HTTPS only APIs like WebXR etc… Clicking through a warning once in a while is a small tradeoff for automating HTTPS support.
Command Line Arguments
If you want an actual command line version then go here.
Otherwise these are the command line arguments to this app version of Servez.
NOTE! You must include an extra
-- by itself before your arguments
servez.exe --port=1234 c:\path\to\serve # BAD! servez.exe -- --port=1234 c:\path\to\serve # good
On Windows the default path is
on MacOS the default path is
servez [options] path/to/serve
--helpprints the command line arguments
--portsets the port as in
--ssluse HTTPS (see above)
--no-dirsdon’t show directory listings for folders
--no-corsdon’t supply CORS headers
--localonly allow access from local machine
--no-indexdon’t serve index.html for folders
You can download it here.
clone this repo
git clone https://github.com/greggman/servez.git
change to the project’s folder
main.js // runs the browser process src/index.html // the main window src/index.js // JS for the main window src/style.css // CSS for the main window
Will launch with devtools open. Setting the environment variable
true will make issue many logging commands in
main.js into the log
in the app
npm run dist
Will build a file for distribution in the
dist folder for the current platform.
Note: On MacOS you’ll need an Apple Developer account. Then build like this
APPLEID=<your-apple-id> APPLEIDPASS=<see-below-password> npm run dist
<your-apple-id> instead your Apple ID. Example
APPLEIDemail@example.com or whatever your
Apple ID is.
<see-below-password> the first step is go to https://appleid.apple.com/
and generate an app specific password. Then, add that password to your keychain with an id of your choosing.
security add-generic-password -a "<your-apple-id>" -w <app-specific-password> -s "<key-id>"
security add-generic-password -a "firstname.lastname@example.org" -w thea-pppa-sswo-rddd -s "foobar"
From then on, to build
APPLEIDemail@example.com APPLEIDPASS=@keychain:foobar npm run dist
During the build it will ask you to give it access to ‘foobar’