Download the PHP package mattv8/bedrock-multisite-docker without Composer

On this page you can find all versions of the php package mattv8/bedrock-multisite-docker. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.

FAQ

After the download, you have to make one include require_once('vendor/autoload.php');. After that you have to import the classes with use statements.

Example:
If you use only one package a project is not needed. But if you use more then one package, without a project it is not possible to import the classes with use statements.

In general, it is recommended to use always a project to download your libraries. In an application normally there is more than one library needed.
Some PHP packages are not free to download and because of that hosted in private repositories. In this case some credentials are needed to access such packages. Please use the auth.json textarea to insert credentials, if a package is coming from a private repository. You can look here for more information.

  • Some hosting areas are not accessible by a terminal or SSH. Then it is not possible to use Composer.
  • To use Composer is sometimes complicated. Especially for beginners.
  • Composer needs much resources. Sometimes they are not available on a simple webspace.
  • If you are using private repositories you don't need to share your credentials. You can set up everything on our site and then you provide a simple download link to your team member.
  • Simplify your Composer build process. Use our own command line tool to download the vendor folder as binary. This makes your build process faster and you don't need to expose your credentials for private repositories.
Please rate this library. Is it a good library?

Informations about the package bedrock-multisite-docker

Bedrock Wordpress Multisite Docker Development Stack

A Docker-based development environment for Bedrock WordPress multisite, designed to streamline local development, version control, and CI/CD integration. This setup is optimized for developers working in a multisite environment and makes it easy to manage WordPress installations in a consistent, containerized environment.

Note: This project is an independent setup and is not officially supported by Roots/Bedrock.

What is Bedrock?

Bedrock is a modern WordPress stack that enhances WordPress development with improved file organization, dependency management through Composer, environment-specific configurations, and security improvements. Bedrock also simplifies configuration for development, staging, and production environments by leveraging .env files to store environment-specific variables.

This setup uses Docker to containerize WordPress, making it easier to manage dependencies and reproduce environments reliably across development teams. With Docker and Docker Compose, the entire stack is preconfigured and ready to use.

Project Benefits

This Docker-based Bedrock WordPress stack provides:

Prerequisites

Note For Windows Users: This project is designed to run on Linux, but can run on Windows using Windows Subsystem for Linux (WSL). Make sure WSL 2 is enabled and configured and that you have a basic understanding of Linux.

Installation

1. Set Up the Project with Composer

Install the project using composer create-project:

Note: The composer install script will automatically set up the necessary files in the root directory and ensure any existing .env files are preserved.

2. Configure the Environment Variables

Copy the .env.example file to .env and configure the variables as needed:

3. Build and Start the Docker Containers

The .vscode directory contains two helper scripts to simplify development:

To use these tasks in VSCode:

  1. Open the VSCode Command Palette (Ctrl+Shift+P or Cmd+Shift+P).
  2. Search for "Tasks: Run Task."
  3. Select the task you want to run (e.g., "Start Bedrock Server" or "Install Dependencies").

Launch the Docker containers with Docker Compose:

Note: the --build flag is only necessary on first run.

4. Access the Site

Once the containers are running, you can access your WordPress site by navigating to http://localhost:${NGINX_PORT}.

To manage your database, use phpMyAdmin, accessible at http://localhost:${PHPMA_PORT}.

Managing Uploads with MinIO

MinIO is an S3-compatible object storage solution included in this setup to handle media uploads and other assets in a scalable way. It integrates seamlessly with your .env file and the Rewrite.php mu-plugin to rewrite file URLs for compatibility with MinIO.

Why Use MinIO?

How to Use MinIO

  1. Set Up MinIO:

    • Access the MinIO web interface at http://localhost:${MINIO_GUI}.
    • Log in using the credentials defined in your .env file (MINIO_ROOT_USER and MINIO_ROOT_PASSWORD).
    • Create a bucket for your WordPress media (e.g., wordpress-media).
    • Make sure to set the bucket's Access Policy to Public
  2. Configure API Credentials:

    Optionally, If you would like to enable media uploads directly to MinIO, you will need to configure an Access Key.

    • In the MinIO console, navigate to the Identity or Users section.
    • Create a new user and assign a policy that grants the new user access to your bucket (e.g. readwrite).
    • Then go to Identity > Users > {your_user} > Service Accounts and generate an Access Key and Secret Key.
    • Add these values as MINIO_KEY and MINIO_SECRET in your .env file.
  3. Configure Environment Variables:
    • Update MINIO_URL (e.g., http://localhost:9000) and MINIO_BUCKET (e.g., wordpress-media) in your .env file.

Tip: The dynamic URL rewriting ensures compatibility with both local and production setups. Adjust MINIO_URL in your .env as needed for staging or production environments.

Migrating vanilla Wordpress to Bedrock WP

See mysql/README.md

Usage Notes

Troubleshooting

If you encounter issues, consider the following:

Important Note: This setup is designed for local development and is not recommended for production use. Always review configurations and optimize security settings when deploying to production environments.

Acknowledgments

This project is inspired by Roots/Bedrock but is an independent setup for Docker-based WordPress multisite development and is not officially supported by Roots/Bedrock.


All versions of bedrock-multisite-docker with dependencies

PHP Build Version
Package Version
Requires php Version >=8.0
roots/bedrock Version ^1.24
composer/installers Version ^2.2
vlucas/phpdotenv Version ^5.5
oscarotero/env Version ^2.1
roots/bedrock-autoloader Version ^1.0
roots/bedrock-disallow-indexing Version ^2.0
roots/wordpress Version 6.6.2
roots/wp-config Version 1.0.0
roots/wp-password-bcrypt Version 1.1.0
mattv8/multisite-url-fixer Version dev-master
Composer command for our command line client (download client) This client runs in each environment. You don't need a specific PHP version etc. The first 20 API calls are free. Standard composer command

The package mattv8/bedrock-multisite-docker contains the following files

Loading the files please wait ...