WordPress + MariaDB

Ready-to-run WordPress 6.x image with MariaDB 10.11, PHP 8.3, and Nginx, all configured for production workloads. Includes automatic security updates, CIS-hardened base, and first-boot database initialisation. Ideal for self-hosted content sites that want the full stack in a single golden image.

All software in this project is the intellectual property of its respective owners. CloudSOE packages and distributes these images under applicable licences and does not claim ownership of the underlying software. Original software by CloudSOE.

Deployment Guides

Choose your platform for step-by-step deployment instructions.

OC

OpenShift

Import the ContainerDisk

apiVersion: kubevirt.io/v1
kind: VirtualMachine
metadata:
  name: wordpress-mariadb
spec:
  running: true
  template:
    spec:
      domain:
        cpu:
          cores: 2
        memory:
          guest: 2Gi
        devices:
          disks:
            - name: rootdisk
              disk:
                bus: virtio
      volumes:
        - name: rootdisk
          containerDisk:
            image: quay.io/cloudsoe/wordpress-mariadb:latest

Expose the Service

oc expose vm wordpress-mariadb --port=80 --name=wordpress
oc create route edge --service=wordpress

Verify the Image

Public keys for image attestation are at cloudsoe.com/keys.

OS

OpenStack

Upload the Image

openstack image create "cloudsoe-wordpress-mariadb" \
  --file cloudsoe-wordpress-mariadb-openstack-<version>.qcow2 \
  --disk-format qcow2 \
  --container-format bare \
  --public

Launch an Instance

openstack server create \
  --image cloudsoe-wordpress-mariadb \
  --flavor m1.medium \
  --key-name my-key \
  --network my-network \
  wordpress-01

First Boot

The image initialises MariaDB and WordPress on first boot. Connect via SSH and run:

ssh cloudsoe@<FLOATING_IP>
sudo /opt/cloudsoe/setup-wordpress.sh

Open http://<FLOATING_IP> to complete the WordPress setup wizard.

Verify the Image

Download CHECKSUM and CHECKSUM.sig from the release page, then:

gpg --import gpg.pub
gpg --verify CHECKSUM.sig CHECKSUM
sha256sum -c CHECKSUM

Public keys are at cloudsoe.com/keys.

VG

Vagrant

Quick Start

vagrant init cloudsoe/wordpress-mariadb
vagrant up

Vagrantfile

Vagrant.configure("2") do |config|
  config.vm.box = "cloudsoe/wordpress-mariadb"
  config.vm.network "forwarded_port", guest: 80, host: 8080
  config.vm.provider "libvirt" do |v|
    v.memory = 2048
    v.cpus   = 2
  end
end

First Boot

vagrant ssh
sudo /opt/cloudsoe/setup-wordpress.sh

Open http://localhost:8080 to complete the WordPress setup wizard.

Verify the Image

Public keys for box verification are at cloudsoe.com/keys.

VM

VMware

Import the OVA

ovftool \
  --acceptAllEulas \
  --name=wordpress-01 \
  --datastore=datastore1 \
  --network="VM Network" \
  cloudsoe-wordpress-mariadb-vmware-<version>.ova \
  vi://administrator@vsphere.local@vcenter.local/Datacenter/host/Cluster

Power On and Configure

ssh cloudsoe@<VM_IP>
sudo /opt/cloudsoe/setup-wordpress.sh

Open http://<VM_IP> to complete the WordPress setup wizard.

Verify the Image

Download CHECKSUM and CHECKSUM.sig from the release page, then:

gpg --import gpg.pub
gpg --verify CHECKSUM.sig CHECKSUM
sha256sum -c CHECKSUM

Public keys are at cloudsoe.com/keys.