Introduction
Getting Started

Getting started with Convox is easy. The instructions below guide you through:

  • Signing up
  • Installing the CLI
  • Deploying your application to AWS

This guide takes around 30 minutes to go from zero to your first production deployment.

Sign up

First you will need to sign up for a Convox account.

Install the CLI

  • Install the Convox CLI for your platform.

  • Next, click the Connect the Convox CLI step in the welcome guide to get your CLI key. If you have already completed the setup steps you can generate a new CLI key at any time by clicking on Account and then click reset CLI key to generate a new key.

  • Finally, use the convox login command with your API key:

$ convox login
Password: ********************
Authenticating with console.convox.com... OK

Prepare your application

If you already have a Dockerized application, running on Convox is as easy as adding one small file that describes your application. If you are not already using Docker, don’t worry we have sample applications for all popular frameworks that will make it easy to get started.

  • If you have an existing application see the convox.yml section of these docs.
  • If you are starting from scratch you can clone a demo application to get started.

Deploy to AWS

Connect an AWS Account

Click on the integrations link in the main navigation button then click the plus sign on the runtime integration section.

This grants Convox access and permission to help manage resources in your AWS account.

See AWS Integration for more details.

Install an AWS Rack

Next, click on Racks in the main navigation and click the Add Rack button and select your AWS account. Enter a descriptive Rack name such as production if you plan to deploy production services, or staging if this is for testing.

Wait for the Rack to finish installing.

You can now switch your CLI to point at your new Rack.

$ convox racks
NAME             STATUS
local/convox     running
acme/production  running

$ convox switch acme/production
Switched to acme/production

Deploy your application

Before deploying, create a new app in your Rack.

$ convox apps create --wait

Deploy the application

$ convox deploy --wait

Once complete, run convox services to find the load balancer hostnames for the application.

$ convox services
SERVICE  DOMAIN                                     PORTS
web      rails-web-123456789.us-east-1.convox.site  80:3000 443:3000

When a load balancer is first created it can take a few minutes for its hostname to become available in DNS.

Next Steps

Now that you’ve deployed your first application you can:

  • Add a database like Postgres
  • Grant your team members access to your organization
  • Set up Continuous Delivery Workflows
  • Install another Rack for a staging environment