FAQ

When you start a new deployment Squash will perform the following steps in this order below. You may also check this quick intro on how Squash works. Finding a Build plan Squash first searches for a Squash YAML file. If the file is not present then it checks if there is a deployment profile defined in the Squash Deployment interface. If the above fails, then it searches for: ./Dockerfile at the ro...

Read more

Custom Environment Variables You can define custom environment variables from the Squash admin interface. Go to Settings -> Repositories and then click on “Settings” for a given repository. Each environment variable defined on this page will become available within the deployment host. They can also become available within docker containers with a few configuration steps (see below). Using environ...

Read more

Are Squash URLs accessible to users outside my organization? By default yes, and you can also change this to restrict their visibility only to your organization members. How can I reduce the build & startup time of my deployments? Please go to How to reduce the build & startup times of my app. How can I connect to a Squash instance through SSH? Please go to SSH Access for more details. How can I ...

Read more

How many different organizations can I use with each Squash plan? Each Squash plan is tied to only one organization or one individual/personal account (if you are planning to use Squash with your own personal account, outside an organization). There is no limit of users on each organization though. If you are planning to use Squash for multiple organizations then you will need one billing signup ...

Read more

Squash makes it very easy to seed development databases. You can use your own sanitized data set or even clone production dumps (although in some cases this might not be recommend, see below). The way it works is based on importing a development db dump from any SQL or non-SQL database engines (MySQL, PostgreSQL, MongoDB, etc) and then caching that data into Squash so that you don't need to do a f...

Read more

Please note that the steps below are only required for private repositories. By default Squash uses OAuth access tokens from the hosted Version Control System provider (GitHub, Bitbucket or GitLab) in order to fetch a branch's code during a Squash deployment. We do this in order to keep the amount of permissions on each provider down to a minimum and avoid requesting for any admin permissions. Thi...

Read more

Host OS and installed packages The host virtual machine where we deploy your Docker containers comes with an absolute minimum list of handy tools. These are not meant to be extensive since you can fully customize the environment within a Docker container to fit your needs. Host environment details: Operating System: Amazon Linux 2 (CentOS based) Tools: Git 2.x Telnet docker docker-compose make cUR...

Read more

Squash currently runs its infrastructure mainly from AWS, on North American regions. Due to the fact that there is a very large number of possible IPs used by our deployments, we can't provide a list of IP address for whitelisting. That being said, we plan to support static IPs in the future in order to make whitelisting possible for some customers. Here are some options you can try instead of whi...

Read more

Git clone failed If you are using GitHub, please check if you have authorized this repository in GitHub. Go to Settings -> Repositories: and click on "Check my GitHub permissions": For GitLab and Bitbucket, if this is a new repository you can click on the "Force a repository sync" button. Missing private repositories This is usually due to missing permissions in your GitHub account. Please check i...

Read more

Please refer to this page for more information on Docker support in Squash. Docker image does not exist Are you using private docker images? if so, please double check the access credentials for your registry server. Also ensure the image is still available in there. Check if the deployment cache is being used, invalidate the cache and restart the deployment. No such file or directory Double check...

Read more

By default Squash will reject new deployment starts when the requests are coming from a known list of bots. This is helpful if you are not using Squash's built-in Basic Authentication. We recommend enabling Basic Authentication though. This only affects the deployment startup process. Squash will still allow bots to access environment URLs when they are already commissioned. Here is a list of all ...

Read more

I can't find a branch of code before a new deployment Sometimes Squash might not properly receive notifications from one of the VCS providers (GitHub/GitLab/Bitbucket) regarding new branches. Even when that happens Squash periodically checks the list of branches on each repo to keep them up to date. However, here are a few steps you can use to force an update for the list of branches: Go to the Ac...

Read more

Squash supports applications made of several microservices defined within separate repositories. There are currently three ways to get such apps running in Squash: Using the deployment dependencies feature. Squash creates a unique VM for each independent repository and attach them all together through environment variables. This requires very little setup. You may also share one or more microservi...

Read more

Tech Stack Examples Python NodeJS PHP Ruby Java TypeScript Go Basic example - using a Dockerfile For this first example we have a web app defined in a Dockerfile, this web app has an HTTP service running on port 3000 and we are using the port_forwarding field to properly tell Squash to route traffic to this port. deployments: MyApp: filename: ./src/Dockerfile context_path: ./src port_forwarding: #...

Read more

Squash automatically pulls your public keys from either GitHub/Bitbucket/GitLab allowing you to SSH to any Squash instance without any additional setup. You may also upload public keys directly into Squash. How to SSH to a Squash instance Every Squash deployment has a SSH endpoint allowing you to debug complex issues and perform updates to your environment and application. The complete SSH address...

Read more

There are two easy ways to greatly speed up the build and startup time of web apps in Squash. Besides improving the user experience, fast startup times allow you to reduce the expiration time of your deployments, which will lead to significant cost savings. Using the Deployment Cache First check if the Deployment Cache feature is enabled for your repositories. This feature can speed things up a bi...

Read more

Squash only requests the absolutely minimum set of permissions on GitLab. We support both GitLab Cloud and GitLab Self-hosted. GitLab Self-Hosted Setup Please follow the steps on this page for GitLab Self-Hosted. GitLab Cloud When you signup you will be prompted to the following screens: Oauth This is the standard GitLab authorization page requesting your permission to give Squash access to your a...

Read more

Squash only requests the absolutely minimum set of permissions on Bitbucket. When you signup you will be prompted to the following screens: Oauth This is the standard Bitbucket authorization page requesting your permission to give Squash access to your account. Squash needs your email address in order to communicate with you in the future for any customer support or billing issues. We ask for basi...

Read more

Squash only requests the absolutely minimum set of permissions on GitHub. When you signup you will be prompted to the following screens: Oauth This is the standard GitHub authorization page requesting your permission to give Squash access to your account. We only request read access to basic information. You may also grant access to any organizations to work with in Squash. Organizations will be l...

Read more

Squash supports the native Docker Secrets functionality. This allows keeping any sensitive environment variables out of the Docker image. Using this feature is simple and requires just a few steps that need to be added within the Squash YAML file. The build_options field is required and the --secrets flag must be present. Example: build_options: --no-cache --secret id=sqenv,env=MYSECRET id argumen...

Read more