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" },
],
};
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
- Open the ServBay client and go to Website management.
- Click the green plus (+) button to add a new site.
- 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
)- Click Add to save.
- (Optional) Add a hosts file entry for custom domains:
127.0.0.1 coze.local
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)