<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Docker on John Kuruvila</title><link>https://blog.akjohn.dev/tags/docker/</link><description>Recent content in Docker on John Kuruvila</description><generator>Hugo</generator><language>en</language><lastBuildDate>Fri, 20 Sep 2024 12:34:33 +0530</lastBuildDate><atom:link href="https://blog.akjohn.dev/tags/docker/index.xml" rel="self" type="application/rss+xml"/><item><title>Setting up failover for this blog using HAProxy</title><link>https://blog.akjohn.dev/blog/setting-up-failover-for-this-blog-using-haproxy/</link><pubDate>Fri, 20 Sep 2024 12:34:33 +0530</pubDate><guid>https://blog.akjohn.dev/blog/setting-up-failover-for-this-blog-using-haproxy/</guid><description>This is part of a series of blog posts I&amp;rsquo;m writing about hosting this blog from my homelab. You can find the previous part here
This blog is being hosted on a Docker container in my homelab (see this post for more details). But the actual machine serving the requests is a Linode VPS. I do this because my ISP uses CG-NAT and therefore I can&amp;rsquo;t open a port from my home network out to the public internet.</description></item><item><title>Setting up a self-hosted alternative to Google Maps Timeline</title><link>https://blog.akjohn.dev/blog/setting-up-a-self-hosted-alternative-to-google-maps-timeline/</link><pubDate>Sun, 25 Aug 2024 16:40:51 +0530</pubDate><guid>https://blog.akjohn.dev/blog/setting-up-a-self-hosted-alternative-to-google-maps-timeline/</guid><description>I&amp;rsquo;m a big fan of the Google Maps Timeline feature. I think it&amp;rsquo;s really cool that I can just go back, let&amp;rsquo;s say, 2 years in the past and see exactly where I was at that time. Right now, the furthest I can go back in my timeline history is something like 5 years. But I believe the nostalgia factor is going to be much bigger when I&amp;rsquo;m older and I check back to see what I was doing 30 years ago.</description></item><item><title>Monitoring Docker Containers using Grafana, InfluxDB and Telegraf</title><link>https://blog.akjohn.dev/blog/monitoring-docker-containers-using-grafana-influxdb-and-telegraf/</link><pubDate>Sun, 11 Aug 2024 18:50:04 +0530</pubDate><guid>https://blog.akjohn.dev/blog/monitoring-docker-containers-using-grafana-influxdb-and-telegraf/</guid><description>My homelab has over 40 Docker containers running on it right now. Most of them are open source services like Jellyfin, Paperless-ngx, Uptime Kuma and so on (you can find more like these at r/selfhosted). And a few others are running my personal projects like this blog. One issue you will eventually encounter when running a lot of containers is figuring out if any of them are down. Sure you could run the docker ps -a command and use grep to filter any containers that are down, but this takes time and its kinda annoying to go through the text output line by line.</description></item><item><title>Creating a CI/CD Pipeline using Jenkins and Docker for this Blog</title><link>https://blog.akjohn.dev/blog/creating-a-ci-cd-pipeline-for-this-blog/</link><pubDate>Wed, 10 Jul 2024 18:01:13 +0530</pubDate><guid>https://blog.akjohn.dev/blog/creating-a-ci-cd-pipeline-for-this-blog/</guid><description>This is part of a series of blog posts I&amp;rsquo;m writing about hosting this blog from my homelab. You can find part 1 here: Hosting a blog from your Homelab
My current workflow for creating a new blog post is this:
Run a Hugo command to create a new markdown file. Write my content in the file. Run the hugo command to generate the build files. Run a command to create a new docker image based on httpd which will serve the build files.</description></item><item><title>Hosting a blog from your Homelab</title><link>https://blog.akjohn.dev/blog/hosting-a-blog-from-your-homelab/</link><pubDate>Mon, 01 Jul 2024 13:53:07 +0530</pubDate><guid>https://blog.akjohn.dev/blog/hosting-a-blog-from-your-homelab/</guid><description>This blog is currently being hosted on my homelab in a docker container. I have a Wireguard VPN connecting my homelab and my VPS on Linode. The VPS has Nginx Proxy Manager running in a docker container which is publicly exposed on port 80. Then I added a proxy host in Nginx so that all requests to blog.akjohn.dev gets redirected to the docker container in my homelab.
One of the most common roadblocks you&amp;rsquo;ll face when trying to expose almost anything from your home network to the public Internet is bypassing CGNAT.</description></item></channel></rss>