Logging into SquareScale

To login, simply click on the following link on the SquareScale homepage:

  • Then choose an authentication scheme:

Creating a project

To create a new SquareScale project a handful of steps, click on the following button on the homepage:

  • Then choose a name for your project:
  • Choose an infrastructure type (HA or development):
  • Select a managed database server and its size (or no DBMS if you don’t need one):
  • Add the Slack URL for this project’s notifications if you have it:
  • Finally click on the “create project” button to create it with all the above parameters:
  • A few minutes later, your platform is available:

Deleting projects

To delete an existing SquareScale project…

Integrating Slack into a SquareScale project

It’s possible to send all notifications to a Slack channel, using a custom Slack hook. You can create a custom Slack hook at the following URL: https://<your_company>.slack.com/apps/manage/custom-integrations .

To add this URL, navigate to the Settings tab of the project and click on “update”:


Here’s a sample SquareScale notification on a Slack channel:


Setting up a service

The service creation is easy:

  • From the “Overview” tab of the project, click on “Add service”:
  • You can add image from a private Docker Hub repository.

You just need to check the option and fill in your Docker Hub credentials

  • Click on “Add Service” and wait for the image to download and launch.

You’ll be presented with the service configuration tab immediately after, with a live dashboard of the deployment status:


Listing running services on a project

To list available services, their status, and the number of instances for each of them, go to the “Overview” tab:


Accessing details about a service

Lots of details are available about a SquareScale service. To access them, from the “Overview” tab, click on the “settings” icon (the wheel);


Once in the service details tab, you can access the following information and configuration options:

  • number of service instances
  • change the default run command
  • change the update command to be launched before run (like a database migration)
  • service requirements like memory limits
  • access/add/change dedicated environment variables
  • find service restart webhook

This is useful when you want to force your service to restart.


Scaling up & down the number of instances of a service

If you want to scale up or down and change the number of instances of a given service (sjourdan/hello in this example), you can set it directly in the service tab:


Validate and you’re done. See the result on the “Overview” tab:


Setting a memory constraint on a service

It’s easy to mitigate memory leaks consequences or optimize memory usage of a service, using the memory constraint feature. Whether you’re interested in minimizing the memory usage of your service, or imposing a high memory reservation for an important service, you can use the following:

  • Go to the service setting tab
  • Change the memory requirement:
  • Validate

If the memory requirement can’t be met, you’ll be notified.

Overriding the command or arguments of a service

To override the default container command or its arguments (wether the Dockerfile uses a CMD or an ENTRYPOINT):

  • Go to the service setting tab
  • Change the default run command:

Now the sjourdan/hello service will run with the --enable-hidden-feature=true argument until you remove it.

Force restarting a service manually

This feature is here to help you on the path to Continuous Deployment.

When you add a service from a GitHub repository, we listen to updates on the repository. Your service stays up-to-date by rebuilding and restarting each time a new commit is done on your master branch.

When using a private Docker image, we have no way to know when a new version of the image:tag is available.

This is where schedule webhook is useful: it allows you to trigger a restart of the service whenever you want, typicaly after you push a new version of your image:tag on your registry.


You could for example setup a webhook on your private Docker Hub repository using the schedule webhook URL of your service.