Mobazha Standalone Setup
v0.1.0Deploy 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.
Like a lobster shell, security has layers — review code before you run it.
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.
Zero-config (most common):
curl -sSL https://get.mobazha.org/standalone | sudo bash
With a pre-configured domain (enables auto-TLS via Let's Encrypt):
curl -sSL https://get.mobazha.org/standalone | sudo bash -s -- --domain shop.example.com
Privacy mode with Tor:
curl -sSL https://get.mobazha.org/standalone | sudo bash -s -- --overlay tor
Using testnets (for trying things out without real money):
curl -sSL https://get.mobazha.org/standalone | sudo bash -s -- --testnet
Flags can be combined:
curl -sSL https://get.mobazha.org/standalone | sudo bash -s -- --domain shop.example.com --overlay tor --testnet
Step 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 status
Or check the health endpoint:
curl -sS http://localhost/healthz
Management 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 -d
Troubleshooting
Port 80/443 already in use
Stop existing web servers (Apache, Nginx) before installing:
systemctl stop nginx apache2 2>/dev/null; true
Firewall blocking ports
Allow HTTP/HTTPS traffic:
ufw allow 80/tcp && ufw allow 443/tcp
Or with firewalld:
firewall-cmd --permanent --add-service=http --add-service=https && firewall-cmd --reload
Check container logs
cd /opt/mobazha && docker compose logs -f
Credential Handling
If the user provides a VPS IP and root password:
- 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.
Comments
Loading comments...
