DEV Community

ZoeXu-Arch
ZoeXu-Arch

Posted on

The Final Local DevOps Tool You’ll Ever Need: ServBay

Or how I finally stopped juggling Dockerfiles, Nginx/Caddy configs, and complex port mappings, then laughed my way to productivity.


If you’ve ever:

  • wrestled with Dockerfiles just to get your container right,
  • fought with Nginx or Caddy configs that never seemed to work,
  • struggled with reverse proxy setups and firewall rules,
  • and ultimately just wanted a simple way to run your local services...

…you’re not alone. Local web app development and deployment often feels like a maze of configs and ports.

Enter ServBay — an elegant, powerful local server manager and reverse proxy tool that helps you run and manage multiple local services effortlessly.


What ServBay Is — and What It Isn’t

First, let’s clear this up:

  • ServBay is not a replacement for Reflex, Docker, or your existing dev tools.
  • Reflex remains the go-to tool for hot-reloading and auto-restarting your Python (or other) apps during development.
  • Docker remains invaluable for containerizing and shipping your apps.
  • Caddy, Nginx, or Apache are still excellent production-grade web servers and proxies.

What ServBay does is simplify how you manage these services locally — especially when running multiple services side by side, each with their own ports.

With ServBay, you get:

  • Easy management of local services (including ones started by Reflex or other tools).
  • Built-in reverse proxy with custom URLs, so you don’t have to remember or type port numbers.
  • Zero-config HTTP/2 & HTTP/3 support with automatic SSL certificates.
  • A clean GUI to start/stop services, view logs, set environment variables, and sync configs across devices.
  • Support for Apache, Nginx, Caddy, or any custom command.

Simplifying Reflex + Docker + Caddy Workflow with ServBay

Instead of:

  • Writing complicated Dockerfiles,
  • Tweaking Caddy or Nginx configs,
  • Opening firewall ports,
  • Running multiple terminal windows with different commands,

You can use ServBay to:

  • Run your Reflex-powered Python backend as a local service,
  • Run your frontend (e.g., a Bun or React app) locally,
  • Reverse proxy both services under friendly, custom URLs,
  • Forget about port numbers, firewall rules, and complicated configs.

Example ServBay Config (Using Reflex Backend + JS Frontend)

module.exports = {
  services: {
    backend: {
      command: "python",
      args: ["-m", "my_reflex_app.backend"],
      ports: { 8000: 8000 },
      env: { PYTHONUNBUFFERED: "1" },
    },
    frontend: {
      command: "bun",
      args: ["run", "start", "--port", "3000"],
      ports: { 3000: 3000 },
    },
  },
  proxy: [
    { path: "/api", target: "http://localhost:8000" },
    { path: "/", target: "http://localhost:3000" },
  ],
};
Enter fullscreen mode Exit fullscreen mode

Add this config in ServBay, assign your favorite custom URLs (e.g., http://myapp.local), and never worry about ports again.


How to Setup Reverse Proxy in ServBay

  1. Open the ServBay client and go to Website management.
  2. Click the green plus (+) button to add a new site.
  3. Fill in the details:
  • Site name: anything you like, e.g., my-coze-app
  • URL: e.g., http://coze.local
  • Site type: Reverse Proxy
  • IP address: 127.0.0.1
  • Port: the port your service listens on (e.g., 8888)
    1. Click Add to save.
    2. (Optional) Add a hosts file entry for custom domains:
127.0.0.1 coze.local
Enter fullscreen mode Exit fullscreen mode

Now, open http://coze.local in your browser to access the service without typing a port number.


Final Thoughts

ServBay doesn’t replace Reflex, Docker, or your dev stack. Instead, it complements them by simplifying local service management and reverse proxy setup.

You get a clean, powerful UI, automatic HTTPS, and cross-machine config sync — all without wrestling with configs, ports, or firewalls.

Just install ServBay, add your services, configure your proxies, and focus on coding.


ServBay — the last local DevOps tool you’ll ever need.

Top comments (0)