# xmrpay — Monero Invoice Generator > Create Monero payment requests in seconds. No accounts. No tracking. No KYC. **[Demo: xmrpay.link](https://xmrpay.link)** — for real payments, self-host your own instance. --- ## Self-Host in 60 Seconds You need a VPS with a domain pointing to it. Then: ```bash curl -sL https://xmrpay.link/install.sh | sh -s your-domain.com ``` Done. HTTPS is automatic (via Caddy + Let's Encrypt). A **Tor hidden service** (.onion) is included — the installer shows your onion address after setup. ### Requirements | | Minimum | Recommended | |---|---|---| | **CPU** | 1 vCPU | 2 vCPU | | **RAM** | 1 GB | 2 GB | | **Disk** | 10 GB | 20 GB | | **OS** | Any Linux with Docker | Ubuntu 22+, Debian 12+ | | **Domain** | A-Record pointing to server IP | | | **Cost** | ~3 EUR/month (Hetzner, Contabo, etc.) | | ### Updates Watchtower runs alongside xmrpay and automatically pulls new images every 6 hours. No action needed. Manual update: ```bash cd /opt/xmrpay && docker compose pull && docker compose up -d ``` ### Configuration After install, the config is at `/opt/xmrpay/.env`: ```bash DOMAIN=your-domain.com XMRPAY_IMAGE=schmidt1024/xmrpay:latest ``` ### Docker Images | Registry | Pull command | |---|---| | Docker Hub | `docker pull schmidt1024/xmrpay:latest` | | GitHub (GHCR) | `docker pull ghcr.io/schmidt1024/xmrpay:latest` | ### Manual Setup (without install script) ```bash mkdir -p /opt/xmrpay && cd /opt/xmrpay curl -fsSL https://raw.githubusercontent.com/schmidt1024/xmrpay/master/docker-compose.yml -o docker-compose.yml cat > .env <