Running in Production Is a Podcast Where Devs Chat about Tech Stacks
Update: 2021-09-13
Description
In this episode of Running in Production, Nick Janetakis goes over building a
podcast site with Jekyll and Ruby. It’s hosted on a single DigitalOcean server
and has been running in production since October 2019.
Nick talks about what it takes to release an episode, keeping things simple,
developing a custom audio player, hosting a bunch of sites on a single
DigitalOcean server with nginx, using shell scripts to help reduce human errors
and more.
Topics Include
- 2:06 – The podcast is not sponsored and it’s done in Nick’s spare time after hours
- 2:30 – What’s involved end to end to put together an episode
- 8:50 – Each episode gets about 400 downloads or listens but it’s hard to track
- 10:41 – Motivation for using Jekyll and Ruby
- 13:03 – A couple of custom Jekyll plugins to help building a podcast site
- 16:55 – So many static generators to choose from, just pick one
- 18:09 – Use the tools that you like and don’t constantly second guess yourself
- 19:34 – What is Liquid (Jekyll’s templating language)?
- 21:01 – The custom audio player is the only real amount of JavaScript on the site
- 25:42 – Jekyll-Assets is being used to MD5 tag static file names for cache busting
- 26:34 – nginx is serving the site with Let’s Encrypt handling the SSL certificates
- 28:12 – The only SAAS tool being used is Google Analytics but I don’t use it for much
- 29:20 – A few static sites are all hosted on a $5 / month DigitalOcean server
- 32:06 – The server load is at 2-3% CPU with 60,000+ monthly visitors
- 33:06 – Debian Bullseye is running on the server
- 34:38 – Ansible is used to provision the server
- 38:47 – Deploying a new podcast episode to the site
- 41:59 – Making sure all tags are properly filled out
- 43:46 – Another shell script to auto-inject an episode’s length and file size in bytes
- 46:55 – There’s no secret management because there’s no secrets
- 47:29 – The code is backed up on GitHub and an external USB HDD
- 49:54 – DigitalOcean’s built in monitoring and alerting as well as Uptime Robot is being used
- 52:34 – Best tips? Find tools that you’re genuinely happy using and stick with them
- 54:39 – You can find Nick on his site, @nickjanetakis on Twitter and nickjj on GitHub
Links
📄 References
- https://buildasaasappwithflask.com
- https://diveintodocker.com
- https://www.youtube.com/c/NickJanetakis
- https://www.audacityteam.org/
- https://www.blackmagicdesign.com/products/davinciresolve/
- https://github.com/nickjj/runninginproduction.com
- https://github.com/nickjj/runninginproduction.com/issues/1
- https://nickjanetakis.com/blog/displaying-database-results-across-multiple-columns-with-1-line-of-css
- https://nickjanetakis.com/blog/using-ffmpeg-to-get-an-mp3s-duration-and-4-ways-to-get-the-file-size
- https://nickjanetakis.com/blog/transform-a-toshiba-chromebook-cb35-into-a-linux-development-environment-with-galliumos
⚙️ Tech Stack
Comments
Top Podcasts
The Best New Comedy Podcast Right Now – June 2024The Best News Podcast Right Now – June 2024The Best New Business Podcast Right Now – June 2024The Best New Sports Podcast Right Now – June 2024The Best New True Crime Podcast Right Now – June 2024The Best New Joe Rogan Experience Podcast Right Now – June 20The Best New Dan Bongino Show Podcast Right Now – June 20The Best New Mark Levin Podcast – June 2024
In Channel