Blog / Django

Automatically generating and renewing Let's Encrypt SSL certificates with the certbot client and Ansible

August 11, 2016

I just finished updating my ansible-django-stack project and added tasks to automatically issue a Let's Encrypt SSL certificate and set up a cron job to auto-renew the certificate.

We're now using it for all our Shopify apps which are built in Django. Let's Encrypt certificates are only valid for 90 days, so if you have a bunch of web apps like we do and have more planned in the future, automating this ...

SSH tunneling and dealing with webhooks that require a trusted SSL certificate when developing locally with Django

July 15, 2016

I'm currently working on version 2 of our Shopify app where we'll be adding custom Slack slash commands. When adding slash commands to a custom app, Slack requires the receiving server to have a trusted (not self-signed) SSL certificate.

Normally, what we do is simply create a reverse SSH tunnel to our stage server which is publicly accessible to receive webhooks, for example:

ssh root@stage.example.com -R 8000:localhost:80

The ...

Send Shopify events to Slack with Slacky

May 28, 2016

Around a couple of months ago, a good friend of mine who's also a developer and I were chatting on Slack about app platforms we could build apps for on the side. One platform that came up was Shopify and after doing some research on the Shopify App Store we decided to team up to build our first app. We called our company Highview Apps.

We brainstormed for a bit, trying to come up ...

Ansible playbook for provisioning a Jenkins CI server

May 27, 2016

I've finally decided to set up a Jenkins CI server for my Django projects earlier this week. For a long time, I've been deploying code via command line with Ansible. It worked very well but occasionally I find myself deploying from a coffee shop with unreliable connection, causing the deployment to get interrupted. Deploying instead from a virtual private server in the cloud would solve this and using Jenkins to do it was ...

Adding a Time Zone setting to your Django app

October 29, 2015

I'm currently working with a friend of mine on a Django app for Amazon sellers to automatically reprice their product listings. One of the features of the app is to show the price change history of their listings. Since they would want to see the timestamp of when the change occurred, we added a setting for them to set their Time Zone so they won't have to do time adjustments in their head ...

Certificate verify failure with version 2015.9.6.2 of the certifi package

October 12, 2015

I just spent the past hour trying to troubleshoot this error message I was getting from the requests package when communicating with the MailChimp API:

SSLError: [Errno 1] _ssl.c:510: error:14090086:SSL routines:SSL3_GET_SERVER_CERTIFICATE:certificate verify failed

I just provisioned a production server running Ubuntu 14.04 x64 for a new Django project and had been pulling my hair out trying to figure out why it was throwing this error when our stage ...

Older