Wodby Drupal

Posted onby admin

Wodby platform is really flexible. Affecto significantly reduced time to market spinning new customers on top of wodby infrastructure. Super easy setup, automatic deploys, workflow and really thought initial configurations helps our devops work. Great support make us happy users.

Antti Tuppurainen Technical Drupal Architect at Affecto Finland

We moved our Drupal hosting to use Wodby and changed our development workflow to use Docker at the same time. Now we can concentrate on Drupal development and we're not losing time configuring servers etc. When a site needs additional resources or hosting in a different region we can be way more responsive as deploying a new instance takes no time at all.

Tony MillerDirector at Eighty Options
  • Docker-based Drupal stack. Docker4Drupal is a set of docker images optimized for Drupal. Use docker-compose.yml file from the latest stable release to spin up local environment on Linux, Mac OS X and Windows. Read the docs on how to use; Ask questions on Slack; Follow @wodbycloud for future announcements; Stack.
  • Drupal-vanilla Vanilla Drupal for Wodby 2.0 2 0 0 0 Updated Apr 22, 2021. Nginx Nginx docker container image docker nginx alpine Shell MIT 40 35 12 0 Updated Apr 22, 2021. Wodby-sdk-python Wodby Python SDK Python MIT 2 0 0 0 Updated Apr 21, 2021. Wodby-sdk-go Wodby Go SDK Go MIT 0.

Ramsalt uses Wodby to handle 100+ Drupal websites of their customers from all over the world. Every website they deploy has production and fully-consistent staging environment to develop and tests new features. For large media customers with high traffic Ramsalt utilizes a managed container-based cluster on Amazon Web Services.
Learn more →

Wodby’s innovative infrastructure helped us to increase the speed and simplify our app deployment, while also leaving us the freedom of handling our hosting and not locking us on a specific pattern. We are now much more robust for future growth and will be able to innovate faster.

Martin Normann LundCTO at Ramsalt Lab

We significantly reduced our dev-ops costs since we moved all our development infrastructure to Wodby. Spinning up a new Drupal or Wordpress instance of our client sites is a breeze - our engineers really appreciate it. The platform is very flexible and easy to use with great customer support - every request is addressed almost in real time.

Ramsalt uses Wodby to handle 100+ Drupal websites of their customers from all over the world. Every website they deploy has production and fully-consistent staging environment to develop and tests new features. For large media customers with high traffic Ramsalt utilizes a managed container-based cluster on Amazon Web Services.

Vitaly IoskevichDirector of Engineering at DrupalSquad

I migrated over 75 sites within few months and Wodby staff helped address many issues in process. I like the fact that Wodby is constantly improving their infrastructure. They address my requests within 24 hours (sometimes minutes) and answers are concise and to-the-point; If you are looking for a team to help your growing business, I can recommend Wodby!

Wodby Drupal
Doug OuversonFounder at Web By Doug

Skillaz uses Wodby for continuous integration and delivery

Skillaz uses Jenkins integrated with Wodby for docker-based CI/CD workflow. They packaged their micro-services application (Node.js + .NET) as a Wodby's custom stack. Skillaz uses the same stack and the workflow to maintain on-premises application instances for their enterprise customers.
Learn more →

Guys from Wodby really helped us to bootstrap our docker infrastructure and setup effortless delivery experience.

Vadim ZhogalskiyCTO at Skillaz

What Developers are Saying


@lsmith Well, @wodbyhq is awesome. Your repos, your server, your workflow. Flexible, reliable - I can really recommend it!

— drubb (@drubb) August 12, 2016

@[email protected] very efficient in simplifying Docker-based infra management & automation. Excellent feedback from team. ♥ Drupal. Reliable.

— Paul Michalet (@Paulmicha) August 11, 2016

Using @wodbyhq to handle my customers’ websites for over a year now. It makes things so simple, highly recommend!

Wodby— Роман Швецов (@tcp6000) September 7, 2016

Storybook is an open-source tool for developing UI components for React, Svelte, Vue, Mithril, Web Components, and other similar systems. It's an evolution of design system frameworks and style kits like Pattern Lab, Zurb Foundation, or Bootstrap.

Over the years we've released various integrations with these tools for Drupal 7 through Drupal 9, providing popular theme implementations for Neato and Zurb Foundation, plus dozens of custom themes for projects based around Pattern Lab. These days, we find ourselves relying more on Storybook for new projects and less on older generation design systems.

The most common problem we've identified through implementation, README documentation, issue queues, and demos is that wrangling all the required resources to run tools like Storybook locally can be really tough. The mix of operating systems and configurations from computer to computer makes it difficult to provide a streamlined onboarding technique. Installation and development experiences vary from person to person.

That's where Docker comes in.

Run Storybook in Docker

Whidbey Drupal

We've been running Drupal in Docker since the start of 2018. Gone are the days of Virtualbox and Vagrant, for many of the same reasons we've already noted. The goal is consistent, predictable, and scalable onboarding for local development, and Docker can give that to us easily.

Assuming you're already running a project in Docker (there are numerous community and commercially supported Docker stacks out there), you can create a container for Storybook in just a few lines of code in your docker-compose.yml file:

This provides you with two Node containers. One for executing Node tasks as a service, and the other for serving Storybook on your machine. We use Traefik to expose the Storybook container at the URL 'storybook.myproject.docker.localhost'.

The Storybook container is passed a command to run when the container is started. This executes the start-storybook command using the ./build folder in the container as the root, specifying port 8080.

Wodby drupal php

With those two containers in place, anyone working on the project now has the ability to work on and view Storybook without having to install the correct version of NodeJS or NVM, deal with differences in Windows vs Mac vs Linux, or worry about any other host of issues. It also reduces the technical barrier of entry for project participants from hours to seconds. All that's required is checking out the code and starting your containers.

Wodby Drupal Xdebug

Now anyone on the team, developer and non-developer alike, can jump in at any point in the project and access the UI components in their browser:

Running Node Tasks in Docker

Now that you don't need project members to install Node or related tools, you need a way to do execute NPM/Gulp/Node inside the Docker container. The good news is nothing changes about these commands. The only change is the system that executing them.

Let's say you want to run a Gulp task called 'build'. Under a project controlled by Docker, that command could look like this:

This is also tough for users unfamiliar with Docker. It can be a lot to remember, especially if you're running these tasks a lot. We solved this in our projects by also shipping them with an Ahoy! yaml file providing simple abstracted commands to get the same result:

That long command above can now be done as:

Developers and designers of any skillset can load, run, and build for Storybook without needing to know about installing software and package dependencies on their machine or getting hung up on any number of hurdles in that process.

This ensures the same consistent result across the board in local development - no more issues with build servers or team members having slightly different versions of Node or NPM packages.

Since this is also based on Docker, the commands can be used in a build/deploy continuous integration pipeline with the same images. An example GitLab CI job may look like the following:

Integrating to Drupal 9

Now you have one codebase powering two applicationsStorybook and Drupal 9 in Docker. Both are accessible in the browser, and all your tools are available via the provided Ahoy! command file. Developers and designers can work in one codebase without stepping on each other's toes and the flexibility of Docker can allow more skilled developers to create additional integrations without interfering with anyone else's workflow.

Integrating Storybook and Drupal 9 can be done using the Components module. The Components module provides a way for developers to register namespaces in their Twig templates to reference any defined path in the project—not just ones limited to a specific set of directories. Examples of this implementation can be seen with the Bootstrap Storybook theme project, bridging the two together. Amazee Labs has a great series of posts around GraphQL, Twig and Storybook for Drupal. The Emulsify design system for Drupal provides another great example of integrating Storybook with Drupal.

You can also just start with your own Storybook as we did above and work it into your project, based on your own needs. We have created several custom themes for clients and delivered the same tools in this article to their teams. We can provide assistance tailoring a Storybook design system and styleguide for your organization and integrating it with Drupal and other web properties.


Reach out today to talk about how we can enable your teams on Drupal 9 and Storybook for your next project.