QuantRocket

Unable to connect to Cloud Droplets - GCP & DigitalOcean


#1

I followed the DigitalOcean installation instructions but when I try to connect to the server Chrome says it could not connect to the server showing an error “This site can’t be reached”. I can neither browse directly to the ip address. However the server does exist in Digital Ocean and I can open a terminal too it from their admin page.

Similarly I followed the guide to set up a similar instance in Google Cloud Platform (GCP). I hit the same issue there too.

What works in both cases:

  • the servers are accessible via ssh
  • all containers are up and running
  • DNS records are mapped correctly
  • environment variables are set correctly

I followed the guides and performed all the steps multiple times without success. Local installation on Mac works fine though.

I noticed a similar issue in the community related to a missing step for Lets Encrypt but it seems was corrected in the guide.

Where should I start troubleshooting?


#2

More often than not I receive the following warning message about the connection pool after execution of “docker-compose -p quantrocket up -d”:

Creating network “quantrocket_default” with the default driver
Creating quantrocket_countdown_1 … done
Creating quantrocket_ibg1_1 … done
Creating quantrocket_zipline_1 … done
Creating quantrocket_flightlog_1 … done
Creating quantrocket_license-service_1 … done
Creating quantrocket_db_1 … done
Creating quantrocket_codeload_1 … done
Creating quantrocket_jupyter_1 … done
Creating quantrocket_houston_1 … done
Creating quantrocket_launchpad_1 … done
Creating quantrocket_moonshot_1 … done
Creating quantrocket_satellite_1 … done
Creating quantrocket_blotter_1 … done
Creating quantrocket_account_1 … done
Creating quantrocket_master_1 … done
Creating quantrocket_fundamental_1 …
Creating quantrocket_fundamental_1 … done
Creating quantrocket_logspout_1 … done
WARNING: Connection pool is full, discarding connection: “server_ip_address”

Not sure whether it is related.


#3

It looks like the issue is with Let’sEncrypt certificate. I have changed server ip-address, custom domain, A record, and related environmental variables.
After that I executed the following:

$ docker-compose -p quantrocket down

$ touch ~/.profile
$ echo ‘export HOUSTON_DOMAIN=new_custom_domain’ >> ~/.profile
$ echo ‘export LETSENCRYPT_DOMAIN=new_custom_domain’ >> ~/.profile
$ source ~/.profile

$ docker-machine regenerate-certs quantrocket
$ docker-machine env quantrocket
$ eval $(docker-machine env rocket)
$ docker-compose -p quantrocket up -d

Still the same issue, the site can’t be reached.

I am not sure where exactly Let’s Encrypt certificates should be located but I opened bash for quantrocket_houston_1 and a folder /etc/letsencrypt has the only file cli.ini and no certificates inside.

If the issue is with certificates what would be the best next step?


#4

Check the houston logs:

docker-compose logs houston

#5

The first two lines:
houston_1 | no BASIC_AUTH_USER found so not creating .htpasswd file
houston_1 | LETSENCRYPT_DOMAIN not set so not installing SSL

Then logs of Post and Get requests.

Command env returns:
HOUSTON_DOMAIN=my_custom_domain
LETSENCRYPT_DOMAIN=my_custom_domain
HOUSTON_USERNAME=my_username
HOUSTON_PASSWORD=my_password


#6

Are you sure you’re using the Compose file for cloud? Should say x-quantrocket-deploy-target: 'cloud' near the top of the file. You can run docker-compose config to see how Docker is rendering the file including any environment variables.


#7

Of course I was using a local file. It must have been something easy that I was missing.

I deployed a local installation first and haven’t noticed a difference in the url “local/cloud”. Now it is all up and running. Thank you for your time Brian!