WordPress Production Stack
Beginner3 apps

WordPress Production Stack

Complete WordPress hosting with caching, SSL, and database management

Overview

A production-ready WordPress stack combining WordPress with MariaDB for reliable database storage, Nginx Proxy Manager for SSL termination and reverse proxy, and Adminer for easy database management. This stack is battle-tested and suitable for hosting multiple WordPress sites on a single server.

Included Applications (3)

W

WordPress

19.5k

The world's most popular website builder and CMS. Powers over 40% of the web.

PHPGPL-2.0
A

Adminer

6.2k

Database management in a single PHP file. Supports MySQL, PostgreSQL, SQLite, MS SQL, Oracle, and more.

PHPApache-2.0
N

Nginx Proxy Manager

23.0k

Expose your services easily and securely with a beautiful management interface for Nginx reverse proxy.

JavaScriptMIT

Docker Compose

version: '3.8'
services:
  wordpress:
    image: wordpress:latest
    ports:
      - "8080:80"
    environment:
      WORDPRESS_DB_HOST: db
      WORDPRESS_DB_NAME: wordpress
      WORDPRESS_DB_USER: wp_user
      WORDPRESS_DB_PASSWORD: wp_password
    volumes:
      - wp_data:/var/www/html
    depends_on:
      - db

  db:
    image: mariadb:10
    environment:
      MYSQL_ROOT_PASSWORD: root_password
      MYSQL_DATABASE: wordpress
      MYSQL_USER: wp_user
      MYSQL_PASSWORD: wp_password
    volumes:
      - db_data:/var/lib/mysql

  adminer:
    image: adminer
    ports:
      - "8081:8080"
    depends_on:
      - db

  nginx-proxy:
    image: jc21/nginx-proxy-manager:latest
    ports:
      - "80:80"
      - "443:443"
      - "81:81"
    volumes:
      - npm_data:/data
      - npm_letsencrypt:/etc/letsencrypt

volumes:
  wp_data:
  db_data:
  npm_data:
  npm_letsencrypt:

Setup Guide

1

Clone the docker-compose.yml to your server

2

Update environment variables with secure passwords

3

Run docker-compose up -d to start all services

4

Access Nginx Proxy Manager at port 81 and configure SSL

5

Set up your WordPress site at port 8080

6

Use Adminer at port 8081 for database management