- name
- standalone-setup
- description
- Deploy a self-hosted Mobazha store on any Linux VPS using Docker. Use when the user wants to set up a standalone store on a server.
- requires_credentials
- true
- credential_types
Standalone Store Setup
Deploy a fully independent Mobazha store on any Linux VPS with a single command. Docker-based with automatic updates.
Official guide: <https://mobazha.org/self-host>
Prerequisites
- A Linux VPS (Ubuntu 22.04+ or Debian 12+) with 2+ CPU cores, 2+ GB RAM, 20+ GB SSD
- Root or sudo access
- (Optional) A domain name pointed to the VPS IP
Recommended VPS Providers
| Provider | Spec | Price |
|---|---|---|
| Hetzner | 2 vCPU / 4 GB / 40 GB SSD | ~€4.5/mo |
| Contabo | 4 vCPU / 8 GB / 50 GB SSD | ~€6/mo |
| DigitalOcean | 2 vCPU / 4 GB / 80 GB SSD | ~$24/mo |
| Vultr | 2 vCPU / 4 GB / 80 GB SSD | ~$24/mo |
Step-by-Step Deployment
Step 1: Connect to Your VPS
If the user provides an IP and password, connect via SSH:
ssh root@<IP_ADDRESS>If the user provides an SSH key, use:
ssh -i <KEY_PATH> root@<IP_ADDRESS>Step 2: Install the Standalone Store
For a full list of installer flags and post-install file locations, see references/install-flags.md.
Security note: The commands below download and execute a shell script fromget.mobazha.org. Before running, you can review the script by opening the URL in a browser or runningcurl -sSL https://get.mobazha.org/standalone | less. Only proceed if the user confirms they trust the source.
Zero-config (most common):
curl -sSL https://get.mobazha.org/standalone | sudo bashWith a pre-configured domain (enables auto-TLS via Let's Encrypt):
curl -sSL https://get.mobazha.org/standalone | sudo bash -s -- --domain shop.example.comPrivacy mode with Tor:
curl -sSL https://get.mobazha.org/standalone | sudo bash -s -- --overlay torUsing testnets (for trying things out without real money):
curl -sSL https://get.mobazha.org/standalone | sudo bash -s -- --testnetFlags can be combined:
curl -sSL https://get.mobazha.org/standalone | sudo bash -s -- --domain shop.example.com --overlay tor --testnetStep 3: What Happens During Installation
The installer automatically:
- Installs Docker if not already present
- Downloads the Docker Compose configuration to
/opt/mobazha/ - Generates a unique API key
- Starts the Mobazha services (node, frontend, reverse proxy)
- Sets up a systemd timer for hourly auto-updates
- Installs the
mobazha-ctlmanagement CLI to/usr/local/bin/
Step 4: Complete the Store Onboarding
Open the store admin panel in a browser:
- With domain:
https://shop.example.com/admin - Without domain:
http://<VPS_IP>/admin
On first visit, a Setup Wizard appears with 4 steps:
- Set admin password — required before anything else
- Store profile — name, description, avatar
- Region and currency — country and display currency
- Done — dashboard unlocked, next steps suggested
For the full onboarding walkthrough (including API-based setup by AI agents), see the store-onboarding skill.
After onboarding, consider connecting your AI agent to the store for hands-free management — see the store-mcp-connect skill.
Step 5: Verify the Installation
mobazha-ctl statusOr check the health endpoint:
curl -sS http://localhost/healthzManagement Commands
| Command | Description |
|---|---|
mobazha-ctl status | Show service status |
mobazha-ctl logs | View service logs |
mobazha-ctl set-domain <domain> | Add or change the store domain |
cd /opt/mobazha && docker compose down | Stop all services |
cd /opt/mobazha && docker compose up -d | Start all services |
cd /opt/mobazha && docker compose pull && docker compose up -d | Manual update |
Adding a Domain Later
If you installed without a domain and want to add one:
- Point your domain's DNS A record to the VPS IP
- Run:
mobazha-ctl set-domain shop.example.com - The store will automatically obtain a TLS certificate
Enabling Privacy Overlay Later
You can enable Tor or Lokinet after installation from Admin → System → Network in the store dashboard, without re-installing.
Backup and Restore
Store data lives in /opt/mobazha/data/. To back up:
cd /opt/mobazha && docker compose down
tar czf ~/mobazha-backup-$(date +%Y%m%d).tar.gz data/
docker compose up -dTroubleshooting
Port 80/443 already in use
Stop existing web servers (Apache, Nginx) before installing:
systemctl stop nginx apache2 2>/dev/null; trueFirewall blocking ports
Allow HTTP/HTTPS traffic:
ufw allow 80/tcp && ufw allow 443/tcpOr with firewalld:
firewall-cmd --permanent --add-service=http --add-service=https && firewall-cmd --reloadCheck container logs
cd /opt/mobazha && docker compose logs -fCredential Handling
If the user provides a VPS IP and root password:
- Ask for explicit confirmation before connecting to the VPS via SSH
- Use SSH to connect to the VPS
- Run the installation command
- Report the store URL back to the user
- Remind the user to change the default SSH password for security
Never store or log credentials. After the session, credentials are not retained. The agent must not transmit credentials to any third party or persist them beyond the immediate command execution.