Skip to content
Odinex Cloud
WordPress
CMS

WordPress

Your own WordPress site on Ubuntu 24.04.

WordPress with MariaDB behind Caddy with automatic HTTPS, preinstalled on Ubuntu 24.04. Your site and admin account are ready when the server boots.

Opens the Odinex console with WordPress selected. No licence fee: you pay for the server only.

Base image
Ubuntu 24.04 LTS
Minimum
1 GB RAM · 20 GB disk
Recommended plan
S2 (2 vCPU · 4 GB RAM · 60 GB NVMe)
Ready after boot
2 to 3 minutes
Image slug
wordpress

About WordPress

WordPress powers a large share of the web, from blogs to business sites and online shops. This image runs it as a small Docker Compose project: the official WordPress image (PHP 8.3 with Apache), a MariaDB 11.4 database and Caddy as the HTTPS front end.

On first boot the server generates its own database passwords, installs WordPress and creates your administrator account, so there is no setup wizard left open for someone else to claim. You get a working HTTPS site at once and can move it to your own domain with one command.

What’s included

Software installed on the image and the ports it uses.

Software
ComponentVersion
Ubuntu24.04 LTS
WordPress6.x (official image wordpress:6-php8.3-apache)
PHP8.3 with Apache
MariaDB11.4
Caddy2 (automatic HTTPS)
WP-CLIOfficial wordpress:cli image
Docker Engine and ComposeFrom Docker's repository
Ports
PortProtocolUsed for
22TCPSSH
80TCPHTTP (redirects to HTTPS, certificate validation)
443TCP + UDPHTTPS and HTTP/3

Who it’s for

  • Businesses and agencies that want a site on their own server instead of shared hosting
  • Bloggers and publishers who want full control over plugins and themes
  • Developers who build and hand over WordPress sites

Use cases

  • Business and agency websites

    A fast site with no shared-hosting neighbours, its own IP address and data stored in Germany.

  • Blogs and content sites

    Publish with the block editor and any plugins and themes you choose, with 20 TB of traffic included in every plan.

  • WooCommerce shops

    Install WooCommerce from the plugin directory. Give a busy shop more RAM for PHP and the database.

Resources

WordPress needs at least 1 GB of RAM and a 20 GB disk. Every plan includes an NVMe disk and 20 TB of traffic.

Smallest plan

S1

  • 1 vCPU (shared)
  • 2 GB RAM
  • 40 GB NVMe disk

The smallest plan that meets the minimum.

Recommended

S2

  • 2 vCPU (shared)
  • 4 GB RAM
  • 60 GB NVMe disk

A comfortable size for regular use.

S1 runs a typical brochure site or blog. Choose S2 or larger for WooCommerce, page builders or many visitors. You can resize the server later. See current prices.

Getting started after deploy

  1. Find your address and password

    The address, user name and password are written to /root/APP-INFO.txt and printed when you log in over SSH as root. If you created the server with a root password and it meets WordPress's rules (any non-empty password), the app uses that same password, so you can sign in with what the console showed you at creation. If you used an SSH key (or the password does not meet the policy), a strong password is generated for this server and written to /root/APP-INFO.txt.

    ssh [email protected]
    cat /root/APP-INFO.txt
  2. Sign in to the dashboard

    Open https://<your-host>/wp-admin and sign in as admin. Until you add your own domain, the app is served at https://<your-ip-with-dashes>.sslip.io (for example https://203-0-113-10.sslip.io), a public wildcard DNS name that resolves to your server, with a Let's Encrypt certificate obtained automatically. Opening the bare IP address redirects there.

  3. Update your profile

    The site title is "My WordPress" and the admin email is a placeholder (admin@<your-host>). Change both under Settings and Users before you publish.

  4. Use your own domain

    Create an A record for your domain that points to the server's IPv4 address and wait until it resolves. Then run the domain helper as root: it switches the app to the new name and obtains a new certificate. For WordPress the helper also rewrites the site URL in the database.

    nexoran-app-domain app.example.com
  5. Set up email

    The server does not send mail on its own. Install an SMTP plugin and connect it to your mail provider so password resets and notifications are delivered.

Security notes

  • The database is reachable only from the WordPress container; only Caddy publishes ports (80 and 443).
  • Database passwords are generated on each server at first boot and stored in /opt/nexoran-app/.env (readable by root only).
  • A server without a firewall accepts all inbound traffic. Create an Odinex firewall that allows only SSH (22), HTTP (80) and HTTPS (443) and apply it to the server. Odinex firewalls filter traffic before it reaches the server, so Docker's own iptables rules cannot bypass them.
  • Keep WordPress core, themes and plugins updated from the dashboard, and remove plugins you do not use.
  • Take a snapshot before every upgrade, and turn on daily backups (20% of the server price) for anything you would not want to rebuild by hand.

WordPress questions

Clear answers about location, infrastructure and billing.

Where are the WordPress files?
The Compose project is in /opt/nexoran-app. WordPress files and the database live in Docker volumes; use WP-CLI or docker compose exec wordpress bash to reach them.
How do I run WP-CLI?
From /opt/nexoran-app, run docker compose run --rm cli wp <command>, for example docker compose run --rm cli wp plugin list.
Can I use my own domain?
Yes. Point an A record at the server and run nexoran-app-domain www.example.com. Caddy obtains the certificate and WordPress's URLs are updated in the database.
Can I run several sites on one server?
This image runs one WordPress site. For several sites, use WordPress Multisite, or one server per site so each can be sized, backed up and moved independently.

Documentation

More from the marketplace

Deploy WordPress in Frankfurt

Your own server with full root access, NVMe storage and 20 TB of traffic, billed by the hour.