Managed WordPress

Managed WordPress

A Managed WordPress app is a platform-managed app type: Ngris provisions everything WordPress needs and runs it for you. There is no server to operate, no database to install, and no image to build — you get a working WordPress site with an admin login, ready to configure.

When you create one, Ngris:

  • Provisions the site's own managed database (MariaDB). It is also listed under Storage → Databases, and it is deleted with the site — see Per-app databases.
  • Runs the official WordPress image on a persistent content volume, so uploads, themes, and plugins survive restarts and redeploys.
  • Auto-installs WordPress with a generated administrator account, so the site is usable the moment it reaches ready.
It's a full WordPress, run for you. You manage the site the normal WordPress way — through wp-admin — while Ngris manages the database, the runtime, the volume, and TLS. Content and settings live on the persistent volume and in the managed database.

Create a WordPress site

Create a Managed WordPress app from the dashboard: New Application → WordPress. Ngris then provisions the database, starts the WordPress container on its content volume, and runs the auto-install. The app moves through a series of states you can watch:

  • provisioning — the managed database and volume are being created.
  • pending — WordPress is starting and the auto-install is running.
  • ready — the site is up; the admin URL and credentials are available.
  • failed — setup didn't finish; see Retry a failed setup.

Creation is a dashboard action. The WordPress API endpoints below read the site's info, fix a failed setup, and configure email — they don't create the app.

Admin URL & credentials

Once the site is ready, open the app's WordPress tab to find the site URL, the admin URL (wp-admin), and the generated administrator username, password, and email. Sign in there to manage themes, plugins, pages, and everything else.

The site URL is the app's primary endpoint (the deploy preview URL until the app has an endpoint). A WordPress app can have several endpoints, for example www and the apex: visitors on the others are redirected to the primary. See Domains, endpoints & HTTPS.

API

curl "https://api.ngris.com/v1/applications/{uuid}/wordpress" \
  -H "X-API-KEY: <your_api_key>"

The response returns the site info — site_url, admin_url, admin_user, admin_password, admin_email, site_title, the current state, and the database status. See the API reference for the full shape.

Change the admin password after first login. The generated password is convenient for the first sign-in; rotate it from within wp-admin once you're in, the same as you would on any WordPress install.

Email (bring your own SMTP)

WordPress sends mail — password resets, comment notifications, contact forms. Point it at your own email provider (SendGrid, Amazon SES, Mailgun, or any SMTP host) so that mail is delivered from a domain you control. Ngris configures WordPress to use those credentials; the platform never relays your mail through its own servers.

Set SMTP from the app's WordPress tab, or via the API:

API

curl -X POST \
  "https://api.ngris.com/v1/applications/{uuid}/wordpress/smtp" \
  -H "X-API-KEY: <your_api_key>" \
  -H "Content-Type: application/json" \
  -d '{
    "host": "smtp.sendgrid.net",
    "port": 587,
    "user": "apikey",
    "pass": "<your_smtp_password>",
    "from": "hello@example.com",
    "secure": "tls"
  }'

secure is tls, ssl, or none. Sending an empty host clears the SMTP configuration and reverts WordPress to its default mail behavior.

Other outbound connections. Apart from your SMTP provider, a WordPress site has no internet access by default, so installing or updating plugins and themes from wp-admin, and plugins that call outside services, can’t connect. On a paid plan, add the environment variable NGRIS_EGRESS_HTTPS=on in the app’s Environment tab to allow outbound HTTP/HTTPS to public addresses. See Outbound network access.

Retry a failed setup

If provisioning or the WordPress install doesn't finish — the app lands in failed — you can re-run it without recreating the app. In the dashboard, use the Retry button on the WordPress tab; it re-runs the install and rollout from where it stopped.

API

curl -X POST \
  "https://api.ngris.com/v1/applications/{uuid}/wordpress/retry" \
  -H "X-API-KEY: <your_api_key>"

The state returns to provisioning/pending and, on success, reaches ready.

Backups

A WordPress app reuses the platform's Application Backups — it has both a managed database and a content volume, so a full backup captures both: a gzipped SQL dump of the site's database and a gzipped tar of its content volume (uploads, themes, plugins). Take one on demand, download it, restore it, or leave a daily/weekly schedule running.

Back up before a big change. Since restore is destructive, take a fresh full backup before a major plugin, theme, or core update, so you can roll the whole site — database and files — back to a known-good point. See Application Backups.