My first Tedx Talk: From Pain to Purpose – My TEDx Journey

August 30, 2025 – A date etched in my life for more than one reason. Exactly 11 years ago , I got engaged. And on that very same date this year, I received a life-changing opportunity: my first TEDx talk , hosted at GGI under the inspiring theme “Chase the Impossible.” Standing on that red dot, I felt a mix of emotions — excitement , nervousness , and the quiet ache of loss , having lost my wife, whose memories remain deeply rooted in my heart. In my talk, I shared a story born in the midst of COVID-19 — a time when Ms. Renu and I were both navigating personal grief in different ways. It was during this difficult phase that Mr. Chaitanya brought us together — blending Renu’s deep nutritional expertise with my technical background . That collaboration gave birth to a vision: A platform that could reduce the time it takes to create personalized diets , enabling dieticians to focus more on care, empathy, and connection — and patients to avoid long queues and delays. What began in ...

Setting up your VPS for .Net Core self hosting - Part 1

Ever wondered, how can you set up a cost-effective Virtual Private Server for .Net Core hosting? 

In this blog, I am discussing how to set up your own VPS for .Net Core self-hosting. 

Here are the steps:

  1. Set up an Ubuntu Server
  2. Install Asp.Net Core runtime
  3. Install Nginx
  4. Upload your published files in a folder on the server
  5. Configure nginx to receive and forward requests to the Kestrel Server
  6. Reload nginx config so that nginx reads the latest config
  7. Are you getting 502?
  8. Run the dll
  9. yay!

1. Setup an Ubuntu Server

I have set up an AWS Lightsail Server. You can follow this video to do the same.

2. Install Asp.Net Core runtime

I have followed this link for that:

Since I have Ubuntu20.x, the only commands that I ran to install dotnet core runtime are:

wget https://packages.microsoft.com/config/ubuntu/20.04/packages-microsoft-prod.deb -O packages-microsoft-prod.deb
sudo dpkg -i packages-microsoft-prod.deb
sudo apt-get update; \
  sudo apt-get install -y apt-transport-https && \
  sudo apt-get update && \
  sudo apt-get install -y aspnetcore-runtime-3.1

To verify dotnet runtime run "dotnet --info"

3. Install Nginx

I have followed this link to install nginx and the only commands I ran were:
sudo apt-get update 
sudo apt-get install nginx

4. Upload published files to the server

Ideally, I recommend using Azure Pipelines which should own the responsibility of building the package and publishing the files on the server. For this demo, you can follow video in step 1 to upload the files using FTP.

5. Configure nginx to receive and forward requests

  • Run `sudo nano  /etc/nginx/sites-available/default`
  • Modify the contents of as below (Replace the text in <> with your own values):
    server {
            listen 80;
    #       listen [::]:80;
    #
            server_name ;
    #
            root /var/www/;
    #       index index.html;
    #
            location / {
                    proxy_pass http://localhost:5000;
                    proxy_http_version 1.1;
                    proxy_set_header Upgrade $http_upgrade;
                    proxy_set_header Connection keep-alive;
                    proxy_set_header Host $host;
                    proxy_cache_bypass $http_upgrade;
            }
    }

6. Reload nginx config so that nginx reads the latest config

Run `sudo nginx -s reload`

This command makes nginx read the latest configuration

7. Are you getting 502 Bad Gateway?

At this time, if you are getting bad gateway, then you should look in /var/log/nginx/error.log and you would get to know that you have not run the dll yet.

8. Run your dotnet application

Run the command in the directory where your files are available `dotnet <your dll>`

9. Check your website again. It should work fine. 

If your application did not work fine, please comment the issue that you are facing. I'll try my best to help you out. You have hosted a .Net Core application on your own VPS.

Next Steps?

We'll talk in the next blogs about running the dotnet application as a service and lot more. So, stay connected. 😊