Skip to content

Summer House is a sandbox for Decoupled Drupal projects.

License

Notifications You must be signed in to change notification settings

saganakat/summerhouse

 
 

Repository files navigation

summerhouse_main_image

Welcome to Summer House

Welcome to Summer House, a fully-dockerized environment for onboarding processes based in Decoupled / Headless Drupal.



1. What is Summer House

Summer House is a sandbox for Drupal Decoupled projects, generating boilerplate code, built for training purposes and focused on learning-by-doing. The project is self-contained and host environment agnostic. This project deploys a whole Decoupled Drupal platform on-the-fly with a lot of extra-resources, tools and configurations, but only for local development. You can use Summer House for Onboarding processes, workshops and training sessions. Or just for fun.

2. Pre-requisites

You can use SummerHouse in Linux environments and specifically in Debian / Ubuntu. SummerHouse requires the next resources: Git, Docker, Docker-Compose and DDEV.

If you don't have the prerequisites installed in your host system you can install the resources from a installer script created and committed to the repository. The installer script is here.

Just download the script in your system, give it permissions and execute the installer. This will install Docker, Docker-Compose and DDEV in your Linux system (Ubuntu, Debian). Also it will install some basic resources like git, jq, curl and basic packages.

$ chmod +x installing_docker_dockercompose_ddev
$ ./installing_docker_dockercompose_ddev

Note: If you consider that delegate the prerequisites to a script is insecure or may put your environment at risk, here is some information so you can do it by yourself:

3. Installation and deploy

You can install Summer House in just three steps, just by doing:

$ git clone https://github.com/davidjguru/summerhouse.git
$ cd summerhouse
$ ddev start

And the project will be loaded, configured, enabled and deployed in your local environment. You will see the main URLs opening in your browser.
Please, remember: Summer House is only for local development. It can contain some configs that can be unsecure in other environments.

You can also download the project from the releases / tags area of the Github repository, selecting the version and downloading the compressed folder. Then you only have to unpack the project and launch DDEV:

$ wget https://github.com/davidjguru/summerhouse/archive/refs/tags/v1.0.0.zip
$ unzip summerhouse-1.0.0.zip
$ cd summerhouse-1.0.0/
$ ddev start

And the platform will be mounted and deployed.

4. Addresses // Resources

Summer House will deploy a series of containers from an internal network connected by DDEV with external access from your browser:

5. Troubleshooting

Some common problems have been identified. Check this section for quick interventions.
For more extended information on known bugs and their solutions, visit the related wiki section.

Free some ports

A fundamental aspect of deploying Summer House in your local environment (Linux, WSL) is the use of ports. Problems have been detected due to port blocking by other applications. This can cause DDEV start-up problems and lead to others problems during the installation process of the main website, you can get errors just like:

[error]  Drupal\Core\Config\ConfigImporterException: There were errors validating the config synchronization.
Entities exist of type <em class="placeholder">Shortcut link</em> and <em class="placeholder">Shortcut set</em> <em class="placeholder">Default</em>. These entities need to be deleted before importing. in Drupal\Core\Config\ConfigImporter->validate() (line 750 of /var/www/html/backend_drupal/core/lib/Drupal/Core/Config/ConfigImporter.php).

DDEV operates with ports used by other resources, such as 80 or 443. Check that they are not in use (you do not have Apache running on your system).

Remember, more information on how to deal with more specific errors can be found here:
summerhouse/wiki/troubleshooting.

6. Useful Links

7. Acknowledgments and Thanks

About

Summer House is a sandbox for Decoupled Drupal projects.

Resources

License

Code of conduct

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Shell 57.4%
  • JavaScript 20.6%
  • PHP 8.9%
  • CSS 5.4%
  • HTML 4.2%
  • Dockerfile 3.5%