Create a Private Location
Set up monitoring from your own infrastructure using Docker-based private probes
| Time | ~15 minutes |
| Level | Advanced |
| Prerequisites | statusas account, Docker installed (docker --version to verify), at least one monitor (see Create your first monitor) |
In this guide, you'll set up a private location — a monitoring probe running on your own infrastructure. This lets you monitor internal applications, private APIs, and network resources behind your firewall without exposing them to the public internet.
Caution
For background on when to use a private location and how the connection works, see Understanding private locations.
Step 1: create a private location
- Navigate to Settings > Private Locations in your statusas dashboard
- Click Create Private Location
- Give your location a descriptive name (e.g., "Office Network", "AWS us-east-1 VPC")
- Save the configuration
After creation, you'll receive a token. Copy this token — you'll need it in the next step.
Caution
Step 2: deploy the Docker probe
Run the monitoring probe on your server using Docker:
docker run -d \
--name statusas-probe \
--restart unless-stopped \
-e OPENSTATUS_KEY=<your-token> \
ghcr.io/openstatushq/private-location:latestReplace <your-token> with the token from Step 1.
Verify the container is running
docker ps --filter name=statusas-probeYou should see the container listed with a status of Up:
CONTAINER ID IMAGE STATUS NAMES
abc123 ghcr.io/openstatushq/private-location:latest Up 2 minutes statusas-probeStep 3: assign monitors to your private location
- Go to Settings > Private Locations and select your location
- Choose which monitors should run from this private location
- Alternatively, edit an individual monitor and select your private location in its settings
Checkpoint: Within a couple of minutes, you should see monitoring data appearing in your monitor's overview from your private location.
What you've accomplished
- Created a private location in statusas
- Deployed a monitoring probe on your own infrastructure
- Assigned monitors to check from your private location
Troubleshooting
Container exits immediately
Check the container logs for errors:
docker logs statusas-probeCommon causes:
- Invalid token — double-check the token value; ensure no extra spaces or newlines.
- Wrong variable name — the probe reads
OPENSTATUS_KEYand nothing else. If you setOPENSTATUS_TOKENinstead, the probe refuses to start and exits immediately with:OPENSTATUS_KEY is required: the probe cannot authenticate against statusas - Network issues — ensure the container can reach
statusas-private-location.fly.devon port 443.
No data appearing in the dashboard
- Verify the container is running:
docker ps --filter name=statusas-probe - Check that you've assigned at least one monitor to the private location
- Wait for the probe to pick up the change. It fetches its monitor list on startup and then every 10 minutes, so a monitor assigned after the probe started can take that long to appear. Restart the container to apply it immediately.
Container can't reach internal services
If the probe needs to reach services on your host machine, use Docker's host networking:
docker run -d \
--name statusas-probe \
--restart unless-stopped \
--network host \
-e OPENSTATUS_KEY=<your-token> \
ghcr.io/openstatushq/private-location:latestWhat's next
- Read our Raspberry Pi deployment guide — deploy probes on low-cost hardware.
- Create a monitor — set up more monitors to run from your private location.
Connect statusas to your coding agent
Step-by-step tutorial to add the statusas MCP server to Claude Code, Codex, opencode, Cursor, Claude Desktop, or ChatGPT so the agent can read and manage your status pages
Create Your Own Status Page Theme
A step-by-step guide to designing, testing, and contributing a community theme for statusas status pages.