Skip to content

owlstacks/owlnest

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Docker Compose WordPress PHP-FPM Nginx MariaDB License

🪺 OwlNest

The testing nest for all OwlStack WordPress plugins.

A Docker Compose environment purpose-built for testing OwlStack WordPress plugins. Uses a production-grade stack with PHP-FPM, Nginx, and MariaDB. Spin up a fresh WordPress instance in one command, install your plugins, and start testing.


What's Inside the Nest

Service Port Description
PHP-FPM 8.3 9000 (internal) WordPress running on PHP-FPM with WP-CLI
Nginx 8080 Reverse proxy serving WordPress
MariaDB 11 3306 (internal) Database with health checks
phpMyAdmin 8081 Visual database management

Quick Start

Prerequisites

1. Clone the repository

git clone https://github.com/owlstack/owlnest.git
cd owlnest

2. Configure environment

cp .env.example .env

Edit .env to customize ports, versions, or credentials (defaults work out of the box).

3. Start the nest

docker compose up -d

4. Open WordPress

Visit http://localhost:8080 and complete the installation wizard.

5. Install OwlStack plugins

Once WordPress is running, install any OwlStack WordPress plugin via the admin dashboard (Plugins → Add New → Upload Plugin) or by copying plugin files into the container:

docker compose cp /path/to/owlstack-plugin php:/var/www/html/wp-content/plugins/

Then activate the plugin from the WordPress admin panel.

Need to manage the database? Open http://localhost:8081 for phpMyAdmin.

Configuration

All settings are controlled via the .env file:

Variable Default Description
WORDPRESS_PORT 8080 Host port for WordPress
NGINX_VERSION stable-alpine Nginx Docker image tag
MARIADB_VERSION 11 MariaDB Docker image tag
DB_NAME wordpress Database name
DB_USER wordpress Database user
DB_PASSWORD wordpress Database password
DB_ROOT_PASSWORD rootpassword MariaDB root password
PHPMYADMIN_VERSION latest phpMyAdmin Docker image tag
PHPMYADMIN_PORT 8081 Host port for phpMyAdmin

Note: Change the default passwords before using in any non-local environment.

Common Commands

# Start all services
docker compose up -d

# Stop all services
docker compose down

# Stop and remove all data (fresh start)
docker compose down -v

# View logs
docker compose logs -f

# View logs for a specific service
docker compose logs -f php
docker compose logs -f nginx

# Restart a service
docker compose restart php

# Access PHP container shell
docker compose exec php sh

# Use WP-CLI
docker compose exec php wp --allow-root plugin list

# Access MariaDB CLI
docker compose exec db mariadb -u wordpress -p wordpress

# Copy a plugin into the WordPress container
docker compose cp ./my-plugin php:/var/www/html/wp-content/plugins/

Testing Workflow

  1. Start the environment with docker compose up -d
  2. Complete the WordPress setup wizard at http://localhost:8080
  3. Install the OwlStack plugin you want to test
  4. Run your tests, verify behavior, check logs
  5. Reset to a clean state anytime with docker compose down -v && docker compose up -d

Data Persistence

WordPress files and MariaDB data are stored in Docker named volumes (wordpress_data and db_data). Your data persists across restarts. To completely reset for a fresh test:

docker compose down -v

Related OwlStack Projects

Contributing

Contributions are welcome! See CONTRIBUTING.md for guidelines.

License

This project is licensed under the MIT License.

About

The nest where all OwlStack WordPress plugins are hatched and tested

Resources

License

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors