Frequently Asked Questions


502 Bad Gateway right after my deployment build is finished

There are many reasons on why you might encounter this error. The most common cause is a web server starting sooner than the application itself. For instance, you might be using Nginx as a web server in front of a Django or Flask application running with Gunicorn. When you start your docker containers Nginx might start up before the Gunicorn process. Squash will start sending requests to the Docker container and will receive a 502 response, since Nginx can’t communicate with the Gunicorn app just yet.

It will usually take from a few seconds to a few minutes for the Gunicorn process to finish starting up. Squash in this case will automatically detect the successful response and will properly start routing the requests to the Docker container’s application.

504 Gateway timeout

You will encounter this error when the application takes too long to return a successful HTTP response. You can increase the time Squash waits for a success response by using the ready_wait setting in the .squash.yml file.


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?

Although every team is different, typically we recommend 1 concurrent deployment for every 2 employees. For example, if you have a development team with 10 developers we recommend 5 concurrent deployments. We offer a free 14 days trial to help you determine the best number for you. As your team grows you can scale 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.

Why I’m being charged more than the scheduled expire time for my deployments

The expire time is calculated from the time the VM starts the build process to the time it is fully terminated. Depending on your deployment the termination time might take from a few seconds to several minutes. This will be the case when Squash is generating a Docker Image Cache snapshot or when Persistent Storage is enabled.