Preview environments
for every merge request

Push a branch, get a live URL. Automatic deploy, automatic cleanup. Built for Drupal teams.

Get Started
terminal
# Install the CLI
$ curl -fsSL https://api.druploy.dev/api/cli/install.sh | bash

# Authenticate
$ druploy login

# List your previews
$ druploy list myproject

# Get a Drupal login link
$ druploy drush myproject/mr-42 uli
How it works

Three steps to a live preview

1

Push a merge request

Open or update an MR in GitLab. The CI pipeline triggers a preview deployment automatically.

2

Environment spins up

Docker containers launch with your code, database, and services. Caddy provisions SSL on the fly.

3

Share the URL

Each preview gets a unique URL like mr-42-myproject.druploy.dev. Share it with your team for review.

Features

Everything you need

Auto-deploy

Previews deploy on every MR push. Merge or close the MR and the environment is cleaned up.

Auto-stop & auto-erase

Idle previews stop automatically to save resources. Old previews are erased after configurable days.

📚

Multi-project

Manage previews across multiple projects from a single dashboard. Per-project configuration and access control.

>>_

CLI tool

List, start, stop, rebuild previews and run drush commands from your terminal. Push and pull databases and files.

🔌

Drupal-optimized

First-class support for Composer, Drush, database imports, and file syncs. One-click login links via drush uli.

🔒

Auth & access control

OAuth login via GitLab or Google. Role-based access with admin, manager, and viewer roles. Project-level membership.