Resources for Developers

Features

Prerequisites

If you created an account on the Scalingo web dashboard by using GitHub authentication, login with the CLI requires you to take one of these actions:

  • Add a password to your account on the profile page.
  • Add a SSH key to your account on the dedicated page.
  • Add a token to your account on the profile page. Then use it to login with scalingo login --api-token <token>

Tips

For all the following subcommands:

  • You can use the environment variable SCALINGO_APP instead of using the --app flag
  • If your current directory is the base directory of your project and that your Git repository has a remote named scalingo, you don’t need to specify --app <name>. It will be detected automatically.
  • If you want to specify a different remote name, you can do it by using --remote or -r flag followed by the name

Create new apps

scalingo create

scalingo create my-app

# Create a new app with a custom Git remote
scalingo create my-app --remote staging
scalingo create my-app --remote production
scalingo create my-app --remote custom

Setup your account SSH keys

scalingo keys|keys-add|keys-remove

scalingo keys
scalingo keys-add "Laptop SSH key" $HOME/.ssh/id_rsa.pub
scalingo keys-remove "Laptop SSH key"

Configure their environment

scalingo env|env-set|env-unset

scalingo -a my-app env
scalingo -a my-app env-set NODE_ENV=production
scalingo -a my-app env-unset NODE_ENV

Configure custom domain names

scalingo domains|domains-add|domains-ssl|domains-remove

scalingo -a my-app domains
scalingo -a my-app domains-add example.com
scalingo -a my-app domains-ssl example.com --cert file.crt --key file.key
scalingo -a my-app domains-remove example.com

Manage collaborators of the application

scalingo collaborators|collaborators-add|collaborators-remove

scalingo -a my-app collaborators
scalingo -a my-app collaborators-add user@example.com
scalingo -a my-app collaborators-remove user@example.com

List existing addons and plans

scalingo addons-list|addons-plans

scalingo addons-list
scalingo addons-plans mongodb

Manage addons of your applications

scalingo addons|addons-add|addons-remove|addons-upgrade

scalingo -a my-app addons
scalingo -a my-app addons-add mongodb 1g
scalingo -a my-app addons-remove my-app_12345
scalingo -a my-app addons-upgrade my-app_12345 2g

Read and watch the logs

scalingo logs

# Display the last 1000 lines of log
scalingo -a my-app logs -n 1000

# Follow the logs of your application in real-time
scalingo -a my-app logs -f

# Filter your logs by container type
scalingo -a my-app logs -F "web"
scalingo -a my-app logs --filter "worker"
scalingo -a my-app logs -F "web|worker"

List the logs archives

scalingo logs-archives

# Display the last 10 logs archives
scalingo -a my-app logs-archives

# Follow the 2nd page of logs archives (from 11 to 20)
scalingo -a my-app logs-archives --page 2

Run custom job

scalingo run

scalingo -a my-app run bundle exec rails console

# Define custom environment variables into the one-off container
scalingo -a my-app run --env CUSTOM_ENV=value --env ENV_EXAMPLE=custom <command>

# Upload a file to the one-off container (target is /tmp/uploads)
scalingo -a my-app run --file ./dump.sql <command>

# Start the one-off container with a specific size of container
scalingo -a my-app run --size 2XL <command>

Get metrics of your application

scalingo stats

# Get the current stats of the containers of your app
scalingo -a my-app stats

# Display and update every 10 seconds the stats of the containers of your app
scalingo -a my-app stats --stream

Access your database

scalingo mongo-console|redis-console|mysql-console|pgsql-console|db-tunnel

scalingo -a my-app mongo-console
scalingo -a my-app redis-console
scalingo -a my-app mysql-console
scalingo -a my-app pgsql-console

# Build an encrypted tunnel to access your database
scalingo -a my-app db-tunnel MONGO_URL

Manage containers, scale

scalingo ps|restart|scale

scalingo -a my-app ps
scalingo -a my-app restart web:1
scalingo -a my-app scale web:2
scalingo -a my-app scale worker:2:L
scalingo -a my-app scale clock:0

Configuration

Application Detection

We try to detect automatically the name of your application according to:

  • SCALINGO_APP environment variable
  • -a|--app flag of the command line to specify an application name
  • -r|--remote flag of the command line to specify a remote Git
  • scalingo remote of your Git repository

mode_edit Suggest edits