ouaspel
By:
ouaspel

1 click app with rails: Default postgres password nil on new droplet

January 14, 2017 603 views
Ruby on Rails PostgreSQL Ubuntu 16.04

I'm new to this so I could be making a newbie error, but I'm fairly certain something is wrong here. I created a new droplet with the one click rails app on ubuntu. I started following the rails tutorial that digitalocean supplied. I did a ssh to the server (doing nothing else), and saw that the MOTD had this:

You can use the following Postgres database credentials:
  * User: rails
  * Pass: 

The tutorial says there should be a supplied password already baked in as soon as I ssh. Also, another potential problem is that /etc/default/unicorn is not present.

4 Answers
ouaspel January 28, 2017
Accepted Answer

The reason it doesn't work is because the pointer to the password environment variable is named incorrectly. If you look in .bashrc you can see it. They spelled something wrong. I can't ssh into the droplet at the moment to look at the correct name for the variable, but if you look between .bashrc, the main passwords file for the account (the one that the motd states) and motd.tail I think you'll find it there or in a related file.

@ouaspel

It's possible that there was an issue or error during deployment of the Droplet. I logged in to deploy a fresh Ruby on Rails one-click (w/ NGINX, Postgres, and Unicorn) and when I logged in via SSH, all the details were presented via the MOTD.

I would try deploying once more. If the issue persists, note the data center + data center number (i.e NYC1, NYC2, NYC3, etc) and submit a support ticket letting them know so that their team can take a closer look.

Mine was deployed to NYC3.

I have this problem too. I have moved my droplet from SGP1 to NYC1 but I still have not got the password for postgres.

Is it something related to "ufw" firewall? because I've got those notifications about ufw in MOTD and haven't seen them in the tutorial

/etc/default/unicorn is not present on the Ruby on Rails One-Click Application because between Ubuntu 14 and Ubuntu 16 the old init system was replaced with systemd. Here are some pages you might want to read:
lots on systemd
how to transition
systemd essentials
The service command still works, but try the new and improved systemctl.
init system chaos (opinion)
purpose of /etc/default

In recent years, Linux distributions have increasingly migrated away from other init systems to systemd. The systemd suite of tools provides a fast and flexible init model for managing an entire machine, from boot onwards. In this guide, we'll give you a quick run...
Have another answer? Share your knowledge.