What do you need?
- •A Forge server (Ubuntu with systemd, amd64 or arm64)
- •An Opservo workspace; Free covers up to 2 servers
- •Outbound HTTPS (port 443) to api.getopservo.com. Forge’s firewall rules restrict inbound ports; Opservo opens none
How do you install it with a Forge recipe?
- •In Opservo, click Add a new server, then Generate install command. The token in it works once and expires after one hour
- •In Forge, open Recipes, click New recipe, set User to root and paste the command as the script
- •Run the recipe on one server. Generate a fresh command for each further server, because each token is single-use
- •The Opservo dialog shows Server connected and added
curl -sSL https://api.getopservo.com/install.sh | sudo env OPSERVO_API_URL=https://api.getopservo.com OPSERVO_TOKEN=<token> bashRun the recipe as root because the installer writes a systemd service. The forge user needs a sudo password that Forge emails at provisioning, so a recipe running as forge cannot finish on its own. Over SSH, run the same command as root.
Can you install on many Forge servers at once?
Yes, with a reusable fleet key that an owner or admin creates under Add server, then one recipe run against all selected servers. Fleet-enrolled servers are treated as disposable: one that is offline for 30 minutes is archived automatically, and restored when it reports again, instead of raising an offline alert. For long-lived Forge servers, one-time tokens are usually the better choice.
What do you see afterwards?
Within a few minutes each server has a 0–100 health score and findings with the command that fixes them: CPU, memory, disk and load; systemd services such as nginx, PHP-FPM, MySQL, Redis and Supervisor; listening ports; security checks such as exposed database ports and failed SSH logins; kernel-log errors; laravel.log under /home/forge/<site>/storage/logs clustered into plain-English patterns; and nginx sites with SSL expiry. The agent is read-only by default and never reads .env files.
Last updated 2026-10-10.