How to use LetsEncrypt SSL certs with Heroku.
Update May 2017:
Heroku now offers free, automatic SSL certs from LetsEncrypt that are easier to manage than these are. Go Here for more information. This guide can still help if you want to run the cert process yourself.
To begin, go get CertBot from https://certbot.eff.org/
Then continue by typing the following:
sudo certbot certonly --manual
Follow the instructions on the screen. There is a step that talks about “type in the following and verify on your website” which doesn’t really work if you are running this in manualmode (or more specifically using Heroku, which makes it interesting to try and deploy single file updates easily.) so you can skip this and just hit enter.
Once that is done, go download your newly created certs. They should be located in /etc/letsencrypt/archive/your_domain_name/. Check the folder dates on that folder to make sure you have the newest ones. I actually had 3 of them as this was my 3rd time generating certs for this domain. That folder should include a few files:
cert1.pem chain1.pem fullchain1.pem privkey1.pem
Simply log into Heroku and go to settings and click on add SSL. When you get to the screen asking for the public cert, provide fullchain1.pem and click continue. It will then ask you for the private key, which is (you guessed it) privkey1.pem. Then click continue again.
Once that is done, confirm your DNS settings and finish it up. Your cert should be all good to go.
SabNZBDPlus
- Install prereq’s:
“`
sudo apt install python-gdbm python-cheetah python-openssl par2 unzip -y
sudo apt install python-dev
“` - Add Repo’s, update and upgrade:
“`
echo “deb http://ppa.launchpad.net/jcfp/ppa/ubuntu precise main” | sudo tee -a /etc/apt/sources.list.d/sabnzbdplus.list
sudo apt-key adv –keyserver hkp://pool.sks-keyservers.net:11371 –recv-keys 0x98703123E0F52B2BE16D586EF13930B14BB9F05F
sudo apt update
sudo apt upgrade -y
“` - Install SabNzbdPlus and Python PIP and Sabyenc:
“`
sudo apt-get install sabnzbdplus python-pip -y
sudo pip install sabyenc
“` - Edit config to update IP and Port:
“`
sudo emacs /etc/default/sabnzbdplus
“` - Change the username to your user (I run mine as root):
“`
USER=root
“` - Restart the Service:
“`
sudo service sabnzbdplus restart
“` - Add to autostart:
“`
sudo update-rc.d sabnzbdplus defaults
“`
MultiCore PAR2:
- Install Dependencies:
“`
sudo apt update
sudo apt install devscripts build-essential git debhelper dh-autoreconf libwww-perl libtbb-dev -y
“` - Build Package:
“`
cd ~
mkdir par2tbb
cd par2tbb
git clone https://github.com/jcfp/debpkg-par2tbb.git
cd debpkg-par2tbb
uscan –force-download
dpkg-buildpackage -S -us -uc -d
dpkg-source -x ../par2cmdline-tbb_*.dsc
cd par2cmd*
./configure –prefix=/usr –includedir=${prefix}/include –mandir=${prefix}/share/man –infodir=${prefix}/share/info –sysconfdir=/etc –localstatedir=/var –disable-silent-rules –libdir=${prefix}/lib/arm-linux-gnu –libexecdir=${prefix}/lib/arm-linux-gnu
sudo make
make install
“` - Confirm Installation:
“`
par2 -v
“`
You should see a line:
“`
Concurrent processing utilises Intel Thread Building Blocks 4.3 Update 1,
“` - Once Successful, you can remove the directory:
“`
cd ~
sudo rm -rf par2tbb/
“`