this is driving me crazy for a few days now and I can't figure out how to solve this. I am new to this so it might just be something very simple.
I set up my VPS hosting on Ubuntu 14.04 using Digital Ocean to deploy my Rails 4 app to a production environment. I deployed my app using Capistrano and Nginx by following this tutorial https://www.digitalocean.com/community/tutorials/deploying-a-rails-app-on-ubuntu-14-04-with-capistrano-nginx-and-puma
The only problem that I currently have is that my environment variables are not loaded by my app. Or at least, when I try to subscribe to my newsletter, it tells me that a valid api key is required.
What I did so far:
This is my bash_profile file: [[ -s "$HOME/.profile" ]] && source "$HOME/.profile" # Load the default .profile
[[ -s "$HOME/.rvm/scripts/rvm" ]] && source "$HOME/.rvm/scripts/rvm" # Load RVM$
export PATH="$HOME/.rbenv/bin:$PATH"
eval "$(rbenv init -)"
export PATH="$HOME/.rbenv/plugins/ruby-build/bin:$PATH"
export MAILCHIMP_API_KEY="somenumber"
export MAILCHIMP_LIST_ID="somenumber"
Happy to add any extra code if required.
Thanks a lot!
Had the same problem, everything you mentioned above. Here's what I did:
In ~/.profile
on your ubuntu box make sure you are loading both .bashrc
&& .bash_profile
# if running bash
if [ -n "$BASH_VERSION" ]; then
# include .bashrc if it exists
if [ -f "$HOME/.bashrc" ]; then
. "$HOME/.bashrc"
fi
if [-f "$HOME/.bash_profile" ]; then
. "$HOME/.bash_profile"
fi
fi
Then, make sure your environment variables are exported from your .bash_profile
.
# .bash_profile
export KEY=value
etc.
Restart your server (in my case, I was running nginx, so sudo service nginx restart
), then restart your app (touch app/current/tmp/restart.txt
).
Your app should have access to the env variables now.