Kent, UK

Interface reference

What WordPress is

WordPress is the world's most widely used content management system, powering over 40% of all websites. It provides a web-based editor for creating and managing content, with a vast ecosystem of themes and plugins for customisation. Under the hood, it runs on PHP with a MySQL or MariaDB database backend.

Why I run it

I self-host WordPress as a practical exercise in running a PHP/MySQL web application stack — the kind of application that appears in almost every IT environment. Managing WordPress involves database administration, PHP configuration, SSL/TLS certificate management, reverse-proxy setup, security hardening, updates and backup procedures — all skills that transfer directly to supporting any web application in a professional environment.

Docker Compose

docker-compose.yml
services:
  wordpress:
    image: wordpress:latest
    container_name: wordpress
    restart: unless-stopped
    ports:
      - "8080:80"
    volumes:
      - ./html:/var/www/html
    environment:
      - WORDPRESS_DB_HOST=wp-db
      - WORDPRESS_DB_USER=wordpress
      - WORDPRESS_DB_PASSWORD=<DB_PASSWORD>
      - WORDPRESS_DB_NAME=wordpress
    depends_on:
      - wp-db

  wp-db:
    image: mariadb:11
    container_name: wp-db
    restart: unless-stopped
    environment:
      - MYSQL_ROOT_PASSWORD=<ROOT_PASSWORD>
      - MYSQL_DATABASE=wordpress
      - MYSQL_USER=wordpress
      - MYSQL_PASSWORD=<DB_PASSWORD>
    volumes:
      - ./db:/var/lib/mysql

What this gives you

Hands-on experience with the most common web application stack in the world — PHP, MySQL, reverse proxies, SSL certificates, security updates and database management — all self-hosted and self-maintained.