docs
Everything you need to ship.
Short and to the point — from first SSH connection to CI-triggered production deploys.
Quick start
- 01
Install and open MihraOps
Download the build for your OS and start it. The Free plan needs no account — you land directly on the server list.
- 02
Connect your server
Add the host or IP, SSH user and your key or password. MihraOps verifies the connection, detects Docker and shows live CPU, memory and disk.
- 03
Deploy your first app
Choose an image from Docker Hub or GHCR, set the port and environment variables, hit Deploy. Container status and logs stream into the app.
- 04
Bind a domain (Pro)
Point an A record at your server, enter the domain in MihraOps and the Caddy route plus HTTPS certificate are configured automatically.
Activate a Pro license
- 1.Buy Pro — the license key arrives in your Lemon Squeezy receipt email.
- 2.In MihraOps, open the License screen.
- 3.Paste the license key exactly as written in the receipt.
- 4.Check the device name and press Activate.
A license can be active on 2 devices at once. Switching machines? Deactivate the old device from the same screen first.
Deploy webhooks for CI
Every app in MihraOps can expose its own deploy webhook. When the URL receives a POST, the server pulls the newest image and redeploys — blue-green, so with zero downtime.
- 1.In the app settings, create the deploy webhook and copy the URL.
- 2.Add it to your repository as the MIHRAOPS_WEBHOOK_URL secret.
- 3.Append one step to your workflow after the image is pushed:
- name: Trigger MihraOps deploy
run: curl -X POST "${{ secrets.MIHRAOPS_WEBHOOK_URL }}"Treat the webhook URL like a password — anyone who has it can trigger a redeploy of that app.
The privacy boundary
MihraOps connects from your desktop directly to your server over SSH. The license backend exists only for licensing and updates — it is never in the path of your infrastructure.
Never sent to the backend: SSH private keys and passphrases, server passwords, Git tokens and Docker registry tokens.
Troubleshooting
“License not found” during activation
Copy the key exactly as it appears in your Lemon Squeezy receipt — no leading or trailing spaces. Still stuck? Contact us and we will look into it.
“Activation limit reached”
The license is already active on 2 devices. Open the License screen on one of them and deactivate it, then activate the new machine.
The webhook does not trigger a deploy
Verify the secret contains the full URL, that your workflow sends a POST request, and that the image tag your app tracks was actually updated.
The Linux AppImage does not start
Make it executable first: chmod +x mihraops-latest.AppImage — then run it again.
Need a human?
Send a message through the contact page, or email us directly — we read every message ourselves.
Open the contact page