Novus simplifies local development by allowing easy management of localhost
services with custom domain names. Built on Nginx and DNSMasq, it securely handles HTTPS connections automatically, so you can focus on coding rather than configuration. Experience a streamlined setup with automated SSL management.
Novus is an innovative local HTTPS proxy designed to enhance your developer experience on macOS. It simplifies the management of multiple localhost
services by allowing you to define custom domain names with built-in HTTPS support, ensuring your connections are secure by default.
Under the hood, Novus utilizes Nginx as a proxy server and DNSMasq for custom domain resolution, eliminating the need for tedious /etc/hosts
file modifications. With automatic SSL certificate management and renewal powered by mkcert, you can focus on development without the hassle of configuring security yourself.
Key Features:
- Effortless Domain Mapping: Easily map your
localhost
URLs to custom DNS domains for a more intuitive development process. - Automatic Security: Secure all your domains effortlessly without manual SSL configuration.
- Seamless Setup: Launch your local development environment with just a few commands and configure your domains in a user-friendly YAML file.
Quick Start:
To get started with Novus, simply initialize it with the following command:
$ novus init
This command generates a novus.yml
configuration file where you can specify your domain mappings. Here’s an example configuration:
appName: my-app
routes:
- domain: my-frontend.test
upstream: http://localhost:3000
- domain: my-api.test
upstream: http://localhost:4000
After configuring, run novus serve
to activate your custom domains locally.
Command Overview:
Utilize various commands to manage your Novus environment effectively:
Command | Description |
---|---|
init | Initializes Novus and creates a configuration file. |
serve | Activates routing and manages SSL certificates based on your config. |
status | Displays the current status of Novus and registered applications. |
stop | Halts Novus routing. |
start | Initiates Novus routing. |
pause [app] | Temporarily pauses a specific app's routing. |
resume [app] | Resumes routing for a paused app. |
remove [app] | Deletes app configuration and stops routing for that app. |
Important Notes:
- Prefer using
.test
or another non-TLD suffix for your custom domains. - Avoid using
.local
and.dev
domains as they may cause conflicts with macOS resolutions and are valid TLDs, respectively.
Stay Updated:
As Novus is still under active development, keep in mind that new releases may introduce breaking changes. Always uninstall the previous version before upgrading to ensure a smooth transition:
# Uninstall old version
$ novus remove [app] # For all apps
$ brew uninstall novus
$ brew untap jozefcipa/novus
# Install new version
$ brew tap jozefcipa/novus
$ brew install novus
Experience a hassle-free development environment with Novus and enjoy the benefits of a streamlined workflow on macOS!