## rapadura serve

Run the gateway (API, hosted MCP, docs). Runs on the VM, not on laptops.

### Synopsis

serve runs the rapadura gateway. Every flag can also be set through the
environment variable named next to it, which is how the systemd unit
configures it (EnvironmentFile=/etc/rapadura/gateway.env).

```
rapadura serve [flags]
```

### Options

```
      --bootstrap-owner string    GitHub login that becomes owner on first login (RAPADURA_BOOTSTRAP_OWNER)
      --data-dir string           data root (RAPADURA_DATA_DIR) (default "/srv/rapadura")
      --docs-dir string           directory served under /docs/ (RAPADURA_DOCS_DIR)
      --downloads-dir string      directory served under /dl/ (RAPADURA_DL_DIR)
      --github-client-id string   GitHub OAuth app client id with device flow enabled (RAPADURA_GITHUB_CLIENT_ID)
  -h, --help                      help for serve
      --hestia-allowlist string   server-wide hostname list for collision checks (RAPADURA_HESTIA_ALLOWLIST) (default "/var/www/internal/allowed-domains.txt")
      --listen string             HTTP listen address (RAPADURA_LISTEN) (default "127.0.0.1:8090")
      --max-archive-mb int        max site size in MB (RAPADURA_MAX_ARCHIVE_MB) (default 500)
      --max-sites int             sites per staff user (RAPADURA_MAX_SITES) (default 20)
      --nginx-listen string       listen address for generated server blocks; must match the other vhosts (RAPADURA_NGINX_LISTEN) (default "192.168.99.106:80")
      --nginx-mode string         live or dryrun (RAPADURA_NGINX_MODE) (default "live")
      --previews                  serve slug--vN preview hosts; needs wildcard certificates (RAPADURA_PREVIEWS)
      --public-url string         public base URL (RAPADURA_PUBLIC_URL) (default "https://agents.rapadura.net")
      --real-ip-from string       edge proxy IP whose X-Forwarded-For sets the client IP in site logs (RAPADURA_REAL_IP_FROM) (default "192.168.99.135")
      --regen-allowlist string    script to run after the allowlist changes (RAPADURA_REGEN_ALLOWLIST) (default "/usr/local/sbin/gen-allowed-domains.sh")
      --sudo string               sudo binary for nginx -t / reload; empty when running as root (RAPADURA_SUDO) (default "/usr/bin/sudo")
      --token-ttl duration        lifetime of login tokens (default 2160h0m0s)
      --trusted-proxies string    IPs whose X-Forwarded-For is trusted (RAPADURA_TRUSTED_PROXIES) (default "192.168.99.135")
      --versions-retained int     release directories kept per site (RAPADURA_VERSIONS_RETAINED) (default 20)
      --wp-network string         multisite domain for the WordPress lane; empty disables it (RAPADURA_WP_NETWORK)
      --wp-plugins string         comma-separated plugin slugs staff may activate; empty allows any installed plugin (RAPADURA_WP_PLUGIN_ALLOWLIST)
      --wp-runner string          privileged wp-cli wrapper, run via sudo (RAPADURA_WP_RUNNER)
      --zones string              comma-separated zones (RAPADURA_ZONES) (default "rapadura.net,phpcomrapadura.org")
```

### Options inherited from parent commands

```
      --gateway string   gateway URL (default from credentials or https://agents.rapadura.net)
      --json             machine-readable JSON output
```

### SEE ALSO

* [rapadura](rapadura.md)	 - Publish and manage hotsites on rapadura.net and phpcomrapadura.org

