Development mode

docker-compose -f docker-compose.yml -f up -d


export COMPOSE_FILE=''
docker-compose up -d

It is possible that the api service started before db was ready. If this is the case, it won’t be able to connect to it. Fix this with:

docker-compose restart api

The first time you start this, you have to run the database migrations:

docker-compose exec api ./ migrate

Production mode

You will have to start by provisioning a remote docker host. Using Digital Ocean as an example cloud provider.

First you need to generate an API token in digital ocean’s UI. Then:

export DOTOKEN='...'

# Provision a remote docker host
docker-machine create \
    --driver digitalocean \
    --digitalocean-access-token $DOTOKEN \
    --digitalocean-image centos-8-x64 \

# Configure local docker clients to talk to remote docker host
eval $(docker-machine env codecamp)

# Make sure COMPOSE_FILE is empty

docker-compose up -d

You can now view the application by visiting the remote host’s IP address. Get it in Digital Ocean’s UI or with:

docker-machine ip codecamp


View Github