Shift with red gradient lettering

Running Shift locally with Docker

Run any Shift using Docker in three simple steps.

Watch Next

Reviewing the Shift Pull Request

Tips for working through your Shifts efficiently so you get the most automation.

Upgrading old Laravel applications

Speed up the upgrade process even more with tips from the creator of Shift.

Dealing with Dependencies

How to resolve composer package incompatibilities.


Any of the cloud-based Shifts may also be run locally using Docker.

This allows you to still use Shift for projects which may have privacy restrictions or use self-hosted Git.

If you're not familiar with Docker, don't worry, just like the cloud-based Shifts, you still get started in 3 easy steps

  1. Install the Docker Desktop Client for your local system.
  2. Build a Docker container from the base Shift image.
  3. Run the container using the token you purchased.

When running the Docker container, be sure to pass the full path to your project on your local environment.

If this is a mono-repository or you have installed your application within a subdirectory, pass the path to the repository root. This allows Shift to make its clean, atomic commits for each change.

Do not change the right side of the volume argument. This is the expected path within the Docker container and mount type to improve file system performance.

Also pass your Docker token to register the appropriate Shift assets.

Once running, Shift will provide simple updates in the console, as well as a full report in a file.

If you happen to encounter an error, email Be sure include the console output and any generated shift.log file.

Sign in with any of the following services to connect Shift with your Laravel project.

Don't use one of these services?

Temporarily push your project to a free, private repository on one of these cloud-based services or upgrade your project locally with Shift for Docker.