Skip to content
This repository was archived by the owner on Dec 27, 2025. It is now read-only.
This repository was archived by the owner on Dec 27, 2025. It is now read-only.

Create a branch for Docker-based Drupal Pi #36

Description

@geerlingguy

As the title says... Basically I've converted the Raspberry Pi Dramble (http://www.pidramble.com) over to Kubernetes, and now I'd like to do the same for this project, but since it's a single Pi and doesn't have many resources, just use Docker + Docker Compose.

It would simplify the project a bit, and show how to do a single-node Docker-based production-ready Drupal setup.

I would still have Nginx sitting in front, and I would even set it up so I can have my own single-Drupal-Pi route as a proxy to the cluster if needed (so it would basically be a proxy/load balancer/cache in front of the Pi Dramble cluster when it's running as a Kubernetes cluster!).

So some tasks (running list, will be updated as I go):

  • Remove all the web-host-specific bits that will be run as Docker containers
  • Make sure Docker is installed (maybe share the Dramble's docker-arm role?)
  • Build a default example.docker-compose.yml file to be used with the geerlingguy/drupal and mysql:5.7 images.
  • Add a local Vagrant testing environment.
  • Add 'hooks' which allow task files to be included if they exist.
  • Build a hook that will allow me to install Drupal for Kubernetes on the cluster instead of the default image, by building tasks to clone the project, build the Docker image, and use it instead of geerlingguy/drupal:latest.
  • Mount a drupal-files directory from the host into the Drupal container at a configurable path. And make sure to wipe it in the reset.yml playbook.
  • Update the reset.yml playbook so it destroys the Docker Compose configs and gets Drupal reinstalled from scratch.
  • Add some configuration which can set the Pi to either route traffic from Nginx to the local Docker containers, or to a set of backends in the Pi Dramble cluster for a given URL.

I may or may not make this new branch the default / master, depending on how it performs on a single Pi, and whether it makes the entire user experience better or worse.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions