{"@attributes":{"version":"2.0"},"channel":{"title":"Matt's Dev Blog - DevOps","link":"https:\/\/mattsegal.dev\/","description":{},"lastBuildDate":"Fri, 31 Jul 2020 12:00:00 +1000","item":[{"title":"A breakdown of how NGINX is configured with Django","link":"https:\/\/mattsegal.dev\/nginx-django-reverse-proxy-config.html","description":"<p>You are trying to deploy your Django web app to the internet.\nYou have never done this before, so you follow a guide like <a href=\"https:\/\/www.digitalocean.com\/community\/tutorials\/how-to-set-up-django-with-postgres-nginx-and-gunicorn-on-ubuntu-16-04\">this one<\/a>.\nThe guide gives you many instructions, which includes installing and configuring an \"NGINX reverse proxy\".\nAt some point you mutter to yourself:<\/p>\n<blockquote>\n<p>What-the-hell is \u2026<\/p><\/blockquote>","pubDate":"Fri, 31 Jul 2020 12:00:00 +1000","guid":"tag:mattsegal.dev,2020-07-31:\/nginx-django-reverse-proxy-config.html","category":"DevOps"},{"title":"How to automate your Postgres database backups","link":"https:\/\/mattsegal.dev\/postgres-backup-automate.html","description":"<p>If you've got a web app running in production, then you'll want to take <a href=\"https:\/\/mattsegal.dev\/postgres-backup-and-restore.html\">regular database backups<\/a>, or else you risk losing all your data. Taking these backups manually is fine, but it's easy to forget to do it. It's better to remove the chance of human error and automate \u2026<\/p>","pubDate":"Fri, 05 Jun 2020 12:00:00 +1000","guid":"tag:mattsegal.dev,2020-06-05:\/postgres-backup-automate.html","category":"DevOps"},{"title":"An introduction to cloud file storage","link":"https:\/\/mattsegal.dev\/aws-s3-intro.html","description":"<p>Sometimes when you're running a web app you will find that you have a lot of files on your server. All these files will start to feel like a burden. You might worry about losing them all if the server fails, or you might be concerned about running out of \u2026<\/p>","pubDate":"Fri, 05 Jun 2020 11:00:00 +1000","guid":"tag:mattsegal.dev,2020-06-05:\/aws-s3-intro.html","category":"DevOps"},{"title":"How to backup and restore a Postgres database","link":"https:\/\/mattsegal.dev\/postgres-backup-and-restore.html","description":"<p>You've deployed your Django web app to to the internet. Grats! Now you have a fun new problem: your app's database is full of precious \"live\" data, and if you lose that data, it's gone forever. If your database gets blown away or corrupted, then you will need backups to \u2026<\/p>","pubDate":"Thu, 04 Jun 2020 12:00:00 +1000","guid":"tag:mattsegal.dev,2020-06-04:\/postgres-backup-and-restore.html","category":"DevOps"},{"title":"Cloudflare makes DNS slightly less painful","link":"https:\/\/mattsegal.dev\/cloudflare-review.html","description":"<p>When you're setting up a new website, there's a bunch of little tasks that you have to do that <em>suck<\/em>.\nThey're important, but they don't give you the joy of creating something new, they're just... plumbing.<\/p>\n<p>In particular I'm thinking of:<\/p>\n<ul>\n<li>setting up your domain name with DNS records<\/li>\n<li>encrypting \u2026<\/li><\/ul>","pubDate":"Sat, 18 Apr 2020 12:00:00 +1000","guid":"tag:mattsegal.dev,2020-04-18:\/cloudflare-review.html","category":"DevOps"},{"title":"DNS for beginners: how to give your site a domain name","link":"https:\/\/mattsegal.dev\/dns-for-noobs.html","description":"<p>You are learning how to build a website and you want to give it a domain name like mycoolwebsite.com.\nIt doesn't seem like a <em>real<\/em> website without a domain name, does it?\nHow is anybody going to find your website without one?\nSetting up your domain is an important \u2026<\/p>","pubDate":"Mon, 13 Apr 2020 12:00:00 +1000","guid":"tag:mattsegal.dev,2020-04-13:\/dns-for-noobs.html","category":"DevOps"},{"title":"9 commands for debugging Django in Docker containers","link":"https:\/\/mattsegal.dev\/docker-container-debugging.html","description":"<p>You want to get started \"Dockerizing\" your Django environment and you do a tutorial which shows you how to set it all up with docker-compose. You follow the listed commands and everything is working. Cool!<\/p>\n<p>A few days later there's an error in your code and you want to debug \u2026<\/p>","pubDate":"Wed, 08 Apr 2020 12:00:00 +1000","guid":"tag:mattsegal.dev,2020-04-08:\/docker-container-debugging.html","category":"DevOps"},{"title":"Introduction to configuration management","link":"https:\/\/mattsegal.dev\/intro-config-management.html","description":"<p>This is a talk I gave at the Melbourne <a href=\"https:\/\/www.meetup.com\/en-AU\/Junior-Developers-Melbourne\/\">Junior dev meetup<\/a>:<\/p>\n<blockquote>\n<p>Have you ever found a bug in prod, which wasn't caught earlier because of a missing folder, library, or file permission? It sucks! This talk goes over some practices and tools that you can use to keep your \u2026<\/p><\/blockquote>","pubDate":"Wed, 08 Apr 2020 12:00:00 +1000","guid":"tag:mattsegal.dev,2020-04-08:\/intro-config-management.html","category":"DevOps"}]}}