SEC.01
The playbook
The run starts read-only: the recon probes decide what happens next. The steps that follow are adapted to the distribution and state found — a real machine is rarely clean.
- 01reconHomebrew present? absolute path, prefix owner (brew refuses root: go through sudo -u <owner>), architecture
- 02reconnginx already installed?
- 03reconexisting nginx config and where (do not overwrite)
- 04reconport 8080 free?
- 05reconservice already registered (system or user)? do not duplicate it
- 06actInstall nginxverify
- 07actStart the serviceverify
- 08actCheck the HTTP responseverify
SEC.02
What it verifies
Each step ships its own check. The run only moves on when the check passes, so what the recipe reports as done is what is actually on the server.
- 01verifyInstall nginxVerified by
b=$(ls /opt/homebrew/bin/brew /usr/local/bin/brew 2>/dev/null | head -1); u=$(stat -L -f %Su "$b"); p=$(dirname "$(dirname "$b")"); "$p/bin/nginx" -t 2>&1 | tail -1 - 02verifyStart the serviceVerified by
launchctl print system/homebrew.mxcl.nginx | grep -m1 "state =" - 03verifyCheck the HTTP responseVerified by
curl -s -o /dev/null -w '%{http_code}' http://127.0.0.1:8080/
SEC.03
Guardrails
Non-negotiable instructions the run must respect, whatever it finds on the server.
If Homebrew is missing, stop and suggest the install-homebrew recipe. Do not overwrite an existing nginx.conf. A non-root service cannot listen on 80/443: keep 8080 or put a reverse proxy in front.
SEC.04
How a recipe runs in Servor
Servor is zero-knowledge: the platform cannot execute anything on its own. When you launch this recipe, a run reads the reconnaissance, plans the steps and asks for your approval. Each approved command is signed by your browser — with a key the server never sees — then relayed verbatim to the agent, which verifies the signature locally before executing.
search by intent — type “firewall”, get ufw
- 01Read-only reconnaissance before any change
- 02Every command signed by your browser, approved by you
- 03Each step verified before the run moves on, every run kept in the history
SEC.05
Deploy on Servor button
Maintain nginx (macOS) or a project that needs it? Put this button in your README or on your site: one click and your users install it on their own server.
SEC.06
More web server recipes
- 01nginxnginx web server, started, enabled at boot and verified.
- 02CaddyCaddy with automatic HTTPS for a domain.
- 03Apache httpdApache web server, started, enabled and verified.
- 04HAProxyHAProxy load balancer, started and verified.
- 05TraefikTraefik reverse proxy via Docker, with the dashboard and automatic TLS.
Verified recipe
Run this recipe on your server
Connect a server, launch the recipe, and approve each step as Servor executes and verifies it. Free plan, no card required.