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.
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. Requirements
Before deploying WordPress, make sure you have a running server with enough resources to handle your site.
| Requirement | Minimum | Recommended |
|---|---|---|
| Server Type | Starter (2 vCPU, 4 GB RAM) | Standard (4 vCPU, 8 GB RAM) |
| Use Case | Personal blog, low-traffic site | Sites with plugins or moderate traffic |
| Database | MySQL — included with the WordPress template | |
| Custom Domain | Required — *.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.
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
Go to WordPress
Navigate to WordPress in the sidebar, then click "+ New WordPress Site".
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
Enter your WordPress domain
Type your custom domain (e.g., blog.example.com). The *.dublyo.co subdomain is not supported for WordPress.
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.
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:
| Record | Type | Name | Value |
|---|---|---|---|
| WordPress | A | blog (or @ for root) | Your server IP |
| MinIO | A | minio.blog | Your server IP |
Verify DNS
Click "Verify A Record" to check both records. Both must pass before you can proceed. DNS propagation usually takes a few minutes.
Step 3: Site Details
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.
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.
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.
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:
| Setting | Default | Description |
|---|---|---|
| Upload Max Filesize | 64 MB | Maximum file size for media uploads |
| Post Max Size | 64 MB | Maximum size of POST data (must be ≥ upload max) |
| PHP Memory Limit | 256 MB | Memory available to PHP processes |
| Max Execution Time | 120 sec | Maximum time a PHP script can run |
| WP Memory Limit | 256 MB | WordPress-specific memory limit |
| WP Max Memory Limit | 512 MB | Memory limit for WordPress admin tasks |
| WP_DEBUG | Off | Enable WordPress debug mode for development |
| Disable File Editor | On | Disables the theme/plugin editor in wp-admin for security |
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.comThis is your public-facing WordPress site, accessible at the custom domain you configured during deployment.
Admin Panel
https://blog.example.com/wp-adminThe 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.comThe MinIO backup console for managing your WordPress backup storage. This is automatically set up during deployment.
/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
Portainer volume export
Access Portainer on your server to export Docker volumes directly. This captures your entire WordPress installation including the database.
WordPress backup plugins
Install a backup plugin like UpdraftPlus (recommended) for scheduled automatic backups to cloud storage like Google Drive or Dropbox.
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.
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_PASSWORDenvironment 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
Need Help?
Can't find what you're looking for? Check the full documentation or reach out.