End your QA frustrations

Eliminate deployment specific bugs, reduce QA time and get more work done.

Squash automates the deployment of dev, QA and staging environments. Each branch of code gets a unique URL and VM running on Squash's infrastructure.

  • For any web apps and microservices
  • Native Docker support

How It Works

In 3 easy steps

Connect your code repository

Connect to Squash through your GitHub, Bitbucket or GitLab account.

Create a Pull Request

Add new code to the repository and create a Pull Request. Squash automatically creates a testing URL.

View and Test

Squash creates and launches a unique virtual machine to deploy your code when you open the link. View your changes live and test your application in a secure environment!

Use Cases

Development, Test and Staging Environments

Squash deployments are faster than regular development servers, more reliable and readily available only when you need them. One VM and unique URL per branch providing optimal test isolation.


Deploy complex applications using one or more microservices with docker-compose. Map each microservice port with a custom subdomain and access these services independently from the same URL.

Demo Environments

Demo different stages and versions of your application without the hassle of managing servers. Setup and store demo data and keep it intact between runs with persistent storage.


Easily create and deploy variations of the same branch and test them out in parallel and share with clients and stakeholders.

Continuous Integration (CI)

Get an extra layer of automation on top of your existing Continuous Integration (CI) process. Each Pull Request gets its own automatic Squash comment. Reviewers and QA teams can quickly validate the changes from a user standpoint.


Huge Time Savings

You no longer need to spend time on routine tasks such as provisioning servers and manual deployments, managing backups, security and debugging server specific issues due to high load, storage or I/O issues.

Cost Savings

Save between 30 and 50% on server costs. You no longer need to pay for test servers 24x7. With Squash deployments stay active only when you need them, and the number of deployments can scale up automatically as your business and development team grow.

Iterate Faster & Build Better Apps

Squash allows development teams to move faster and spend more time developing high quality applications. Teams can now experiment earlier and iterate faster.


  • Deployments automatically shutdown after periods of inactivity, to save you money.
  • Native Docker Support using a Dockerfile or Docker compose files.
  • Optional Basic HTTP Authentication.
  • Configurable VM sizes and storage.
  • Optional ​Persistent Storage​ keeps your data intact between runs
  • Ability to SSH to the deployments.
  • Ability to​ share files​ between deployments and​ cache docker images​.
  • Click here​ for a complete list of features.
Linux support only, for the moment. Click here to be notified when we support Windows.
Auto Shutdown Policies

Deployments can be made available only when you need them. Define shutdown policies based on Date & Time, Inactivity or when the branch is merged into master.

Configurable VM Sizes and Storage

Squash allows different VM sizes per repository and Dockerfile/Docker-compose file. You can also set different VM sizes per branch.

Assets Storage

Use our Assets Storage to share files such as product images and development databases across all your deployments.

Persistent Storage

Squash can keep all the data in the file system intact between runs, including databases, search index and other services/systems.

SSH Access

Each deployments gets its own Virtual Machine and IP address. An SSH connection address is made available shortly after starting a new deployment.

Basic HTTP Auth

Use Basic HTTP Authentication to protect your deployments from untrusted users and search engines. This feature can be controlled on a per repository and deployment basis.


Start with a free credit of $40 and run an average of 60 deployments.

Claim your $40 free credit

  • 2 concurrent deployments
  • Unlimited repositories
  • Unlimited users
  • Awesome support
Try It Free
No credit card required

Pricing in USD, usage based. See our pricing details page for additional information.

Frequently Asked Questions

What is concurrency?

Squash will add a comment on each Pull Request (PR) with a deployment link. A deployment only starts when you click on that link in the PR. Concurrency is the number of simultaneous deployments you can run at any given time. If you have a limit of 2 concurrent deployments in your account and you open the links on two separate PRs then they will run right away. Subsequent PR links will have to wait until a deployment finishes.

How many concurrent deployments do I need?

Typically we recommend 1 concurrent deployment for every 2 employees. For example, if you have a development team with 10 developers we recommend a plan with 5 concurrent deployments. Use your our free trial to help you determine the best number for you.
Note: as your project develops you can scale up or down to any number of concurrent deployments.

What is the right VM Size for me?

Every application is different, if you are not sure of the VM resources you will need we recommend starting with the 2G plan. You can change the VM size any time later, either up or down.

Can I cancel or change my plan later?

Absolutely! Contact our support team and we'll make sure your subscription gets cancelled as you want. You may also change your plan any time, you can change the number of concurrent deployments or VM sizes up or down.

Are there any restrictions on deployment time?

By default deployments will automatically shut down after 2 hours of inactivity, or after 4 hours from the deployment start time, whichever comes first. This is to ensure you get the most benefit from the service and don’t spend your account’s concurrency on deployments that are idle. However, you can also adjust these settings in your account to fit your needs.

Do I lose my data after a deployment is shut down?

No, you don’t. By default Squash will save a snapshot of your deployment’s data and re-use it for the next run, if the branch’s code hasn’t changed since the last run - this is to ensure your deployments are reliable and have always a clean state. However, you may also change this setting in your account so your data never gets destroyed between runs.

Why should I trust Squash with my code?

Squash only accesses your code when you run your deployment. Once you terminate your deployment all your code is automatically destroyed.

What if I am building open-source?

We offer free accounts for Open Source projects, please contact our support team

I use Windows do you support these?

At the moment, Squash only supports Linux, but we will be supporting Windows in the very near future. Click here to be notified when we add this support.