Deploy WordPress on Dublyo

Deploy a self-hosted WordPress site with one click. Full control over themes, plugins, and backups — running on your own cloud server with automatic HTTPS.

WordPress powers over 40% of the web. With Dublyo, you get the full WordPress experience on a dedicated server — no shared hosting limitations, no restricted plugins, and no surprise fees. Your WordPress deployment includes a MySQL database, MinIO backup storage, automatic HTTPS via Let's Encrypt, and recommended plugins pre-installed.

Important: WordPress on Dublyo requires a custom domain (e.g., blog.example.com). The default *.dublyo.co subdomain is not supported for WordPress deployments. You'll need to own a domain and configure DNS before deploying.
Tip: Unlike managed WordPress hosts, Dublyo gives you full server access via Portainer. Install any theme, plugin, or custom code without restrictions.

Requirements

Before deploying WordPress, make sure you have a running server with enough resources to handle your site.

RequirementMinimumRecommended
Server TypeStarter (2 vCPU, 4 GB RAM)Standard (4 vCPU, 8 GB RAM)
Use CasePersonal blog, low-traffic siteSites with plugins or moderate traffic
DatabaseMySQL — included with the WordPress template
Custom DomainRequired — *.dublyo.co is not supported for WordPress

A Starter server is enough for a personal blog or portfolio. If you plan to use multiple plugins, a page builder, or expect moderate traffic, choose a Standard server for better performance.

Tip: You need a domain you own (e.g., from Cloudflare, Namecheap, or GoDaddy). MySQL and MinIO backup storage are both included automatically — no separate setup needed.

Deploy WordPress

WordPress deployment on Dublyo follows a guided 3-step process. You'll need your custom domain ready before starting.

Step 1: Select Server

1

Go to WordPress

Navigate to WordPress in the sidebar, then click "+ New WordPress Site".

2

Choose a running server

Select a server from the dropdown. Only running servers are shown. The server's IP address will be displayed — you'll need it for DNS configuration.

Step 2: Configure Domain & DNS

3

Enter your WordPress domain

Type your custom domain (e.g., blog.example.com). The *.dublyo.co subdomain is not supported for WordPress.

4

MinIO subdomain (auto-populated)

A MinIO backup subdomain is automatically generated (e.g., minio.blog.example.com). This is used for backup storage. You can customize it if needed.

5

Add TWO DNS A records

Go to your domain registrar (Cloudflare, Namecheap, GoDaddy, etc.) and create two A records pointing to your server's IP address:

RecordTypeNameValue
WordPressAblog (or @ for root)Your server IP
MinIOAminio.blogYour server IP
6

Verify DNS

Click "Verify A Record" to check both records. Both must pass before you can proceed. DNS propagation usually takes a few minutes.

Cloudflare users: Make sure the orange proxy cloud is disabled (DNS Only / gray cloud) for both records during initial setup. You can enable the proxy after WordPress is deployed and SSL is provisioned.

Step 3: Site Details

7

Enter site name and admin email

Give your site a name (e.g., "My Marketing Site") and enter an admin email address for WordPress login and notifications.

8

Choose plugins to preinstall

Dublyo offers a curated list of recommended WordPress plugins that can be pre-installed automatically. Uncheck any you don't want.

9

Click Deploy WordPress

Hit the deploy button. WordPress provisioning starts immediately and you'll be redirected to the site management page where you can track progress.

Tip: You can navigate away while WordPress deploys — you'll be notified when it's ready.

Configuration

WordPress on Dublyo is configured during the deployment wizard. Advanced settings let you fine-tune PHP and WordPress behavior.

Advanced WordPress Settings

Click "Show Advanced WordPress Settings" during deployment to customize these values:

SettingDefaultDescription
Upload Max Filesize64 MBMaximum file size for media uploads
Post Max Size64 MBMaximum size of POST data (must be ≥ upload max)
PHP Memory Limit256 MBMemory available to PHP processes
Max Execution Time120 secMaximum time a PHP script can run
WP Memory Limit256 MBWordPress-specific memory limit
WP Max Memory Limit512 MBMemory limit for WordPress admin tasks
WP_DEBUGOffEnable WordPress debug mode for development
Disable File EditorOnDisables the theme/plugin editor in wp-admin for security
Tip: The defaults work well for most sites. Only change these if you're experiencing upload size issues, memory errors, or need debug output during development.

Accessing WordPress

Once deployed, your WordPress site is live at your custom domain with automatic HTTPS via Let's Encrypt.

Your Site

https://blog.example.com

This is your public-facing WordPress site, accessible at the custom domain you configured during deployment.

Admin Panel

https://blog.example.com/wp-admin

The WordPress admin dashboard where you manage posts, pages, themes, plugins, and settings. Log in with the admin email you set during deployment.

First Visit

The first time you visit your site URL, WordPress will show the setup wizard. Set your site title, create an admin username, and set your admin password. After completing the wizard, your site is ready to use.

MinIO Backup Console

https://minio.blog.example.com

The MinIO backup console for managing your WordPress backup storage. This is automatically set up during deployment.

Tip: Bookmark your /wp-admin URL for quick access. SSL certificates are automatically provisioned and renewed by Let's Encrypt — no manual setup needed.

Backup & Restore

Your WordPress data — including the database, uploads, themes, and plugins — is stored in Docker volumes on your server. Regular backups are essential to protect your content.

Backup Methods

1

Portainer volume export

Access Portainer on your server to export Docker volumes directly. This captures your entire WordPress installation including the database.

2

WordPress backup plugins

Install a backup plugin like UpdraftPlus (recommended) for scheduled automatic backups to cloud storage like Google Drive or Dropbox.

3

Manual wp-content download

Download your wp-content directory via Portainer or SSH for a manual backup of themes, plugins, and uploads.

Restoring a Backup

To restore from a backup, deploy a fresh WordPress instance on Dublyo and import your backup. If using UpdraftPlus, install the plugin on the new instance and restore from your cloud backup. For manual backups, upload the files and import the database via Portainer.

Important: Dublyo does not provide automatic backups for deployed apps. Set up your own backup strategy using one of the methods above. We recommend UpdraftPlus with cloud storage for the easiest automated solution.

Troubleshooting

Running into issues with your WordPress deployment? Here are solutions to the most common problems.

White Screen of Death

A blank white screen usually means a PHP error. Common causes and fixes:

  • PHP memory limit — the WP Memory Limit is set during deployment (default 256 MB). If you need more, redeploy with a higher value in the advanced settings.
  • Faulty plugin — disable plugins one by one via Portainer's file manager by renaming the plugin folder in wp-content/plugins/.
  • Theme issue — rename the active theme folder in wp-content/themes/ to force WordPress to fall back to a default theme.

Can't Upload Files

If file uploads fail or large files are rejected:

  • Check your Upload Max Filesize setting — the default is 64 MB. Redeploy with a higher value if needed.
  • Make sure Post Max Size is greater than or equal to Upload Max Filesize
  • Both values are configured in the advanced settings during WordPress deployment

DNS Verification Failing

If DNS verification doesn't pass:

  • Make sure both A records (WordPress domain and MinIO subdomain) point to the correct server IP
  • Wait a few minutes for DNS propagation — it can take up to 15 minutes
  • If using Cloudflare, disable the proxy (orange cloud) during initial setup — use DNS Only (gray cloud)
  • Verify your records with an external tool like dig blog.example.com

Database Connection Error

The "Error establishing a database connection" message means WordPress can't connect to MySQL. To fix this:

  • Verify the WORDPRESS_DB_PASSWORD environment variable matches the password you set during deployment
  • Check that the MySQL container is running in Portainer
  • Restart both the WordPress and MySQL containers from Portainer if needed
Tip: Use Portainer's container logs to diagnose issues. The logs show PHP errors, database connection attempts, and other diagnostic information in real time.

Need Help?

Can't find what you're looking for? Check the full documentation or reach out.