<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Sarthak Goyal</title>
    <description>The latest articles on DEV Community by Sarthak Goyal (@sarthak_g0yal).</description>
    <link>https://dev.to/sarthak_g0yal</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3391850%2F0e7d373a-1d1a-44c5-a95f-3c5693653b80.jpg</url>
      <title>DEV Community: Sarthak Goyal</title>
      <link>https://dev.to/sarthak_g0yal</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/sarthak_g0yal"/>
    <language>en</language>
    <item>
      <title>I Built My Own Open Source Gym Tracker Because Every Other App Was Lying to Me</title>
      <dc:creator>Sarthak Goyal</dc:creator>
      <pubDate>Tue, 24 Feb 2026 05:11:15 +0000</pubDate>
      <link>https://dev.to/sarthak_g0yal/i-built-my-own-open-source-gym-tracker-because-every-other-app-was-lying-to-me-35bk</link>
      <guid>https://dev.to/sarthak_g0yal/i-built-my-own-open-source-gym-tracker-because-every-other-app-was-lying-to-me-35bk</guid>
      <description>&lt;h1&gt;
  
  
  I Built My Own Open Source Gym Tracker Because Every Other App Was Lying to Me
&lt;/h1&gt;

&lt;p&gt;You know the feeling.&lt;/p&gt;

&lt;p&gt;You finish a solid session. You hit a new personal best on Romanian deadlifts. You ran 20% more volume than last week. You &lt;em&gt;felt&lt;/em&gt; the progressive overload.&lt;/p&gt;

&lt;p&gt;Then you open your gym app to log it… and it just stores the numbers somewhere, behind three paywalls and a subscription prompt, never to be seen again.&lt;/p&gt;

&lt;p&gt;That's not tracking. That's just data hoarding with a logo.&lt;/p&gt;

&lt;p&gt;So I did what any developer-lifter with too much free time and too many opinions would do: &lt;strong&gt;I built my own.&lt;/strong&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  What is ASAP?
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;ASAP&lt;/strong&gt; (As Strong As Possible) is a fully open source, self-hostable workout tracking web app built for people who train with intent.&lt;/p&gt;

&lt;p&gt;Not for casual step-counters. For people who care about:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Progressive overload&lt;/strong&gt; — are you actually getting stronger over time?&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Volume&lt;/strong&gt; — how much total work are you putting in per muscle group?&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Consistency&lt;/strong&gt; — are you actually showing up?&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;PRs that matter&lt;/strong&gt; — not just "you walked 500 steps more today 🎉"&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;GitHub: &lt;a href="https://github.com/asap-open/ASAP" rel="noopener noreferrer"&gt;https://github.com/asap-open/ASAP&lt;/a&gt;&lt;br&gt;
Docs: &lt;a href="https://asap-open.github.io/asap-docs" rel="noopener noreferrer"&gt;https://asap-open.github.io/asap-docs&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h2&gt;
  
  
  &lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fq5b5724rfzc54qlerlr0.png" alt="ASAP Docs" width="800" height="1115"&gt;
&lt;/h2&gt;

&lt;h2&gt;
  
  
  The Problem with Existing Apps
&lt;/h2&gt;

&lt;p&gt;Most fitness apps fall into one of two traps:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Trap 1: The Walled Garden&lt;/strong&gt;&lt;br&gt;
Your data lives on their servers. You can't export it. You can't query it. If they shut down or paywall the feature you actually use — you lose everything.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Trap 2: The Feature Graveyard&lt;/strong&gt;&lt;br&gt;
They show you charts... of what, exactly? Steps? Calories burned based on a formula from 1990? The stuff serious lifters care about — weekly volume per muscle, estimated 1RM trends, hard set tracking — either doesn't exist or costs $14.99/month.&lt;/p&gt;

&lt;p&gt;I wanted something that recorded exactly what I'd want to see &lt;em&gt;after a real session&lt;/em&gt;. So I built it.&lt;/p&gt;



&lt;p&gt;👉 &lt;a href="https://www.linkedin.com/posts/sarthak-g0yal_opensource-fitnesstech-react-activity-7431915937932537856-Jdgr?utm_source=share&amp;amp;utm_medium=member_desktop&amp;amp;rcm=ACoAAEu8VXEB5We5AsSGctN_nXp5olqzE9v59rU" rel="noopener noreferrer"&gt;Check out the LinkedIn post here&lt;/a&gt;&lt;/p&gt;


&lt;h2&gt;
  
  
  What ASAP Actually Does
&lt;/h2&gt;
&lt;h3&gt;
  
  
  Log Sessions in Real Time
&lt;/h3&gt;

&lt;p&gt;During your workout, log sets, reps, weight, and flag hard sets as you go. No friction, no required templates — just open it and start tracking.&lt;/p&gt;
&lt;h3&gt;
  
  
  See the Work After the Session
&lt;/h3&gt;

&lt;p&gt;This is the part I actually care about. After logging, ASAP shows you:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Volume trends&lt;/strong&gt; over time (weekly, monthly)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Muscle group breakdown&lt;/strong&gt; — which muscles you hit and how hard&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Personal bests&lt;/strong&gt; — real PRs based on your actual training data&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Progress charts&lt;/strong&gt; so you can &lt;em&gt;see&lt;/em&gt; the overload happening&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F4pifqor4apva7mygw576.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F4pifqor4apva7mygw576.png" alt="ASAP Session view" width="800" height="1575"&gt;&lt;/a&gt;&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fjh4ptpu95kzshz5qa3a4.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fjh4ptpu95kzshz5qa3a4.png" alt="ASAP Home View" width="800" height="1575"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h3&gt;
  
  
  Build Routines Your Way
&lt;/h3&gt;

&lt;p&gt;Create routines from scratch or modify them however you want. No forced templates, no "recommended splits" from an algorithm that doesn't know you.&lt;/p&gt;
&lt;h3&gt;
  
  
  873 Exercises Out of the Box
&lt;/h3&gt;

&lt;p&gt;Strength, cardio, mobility — all categorized with proper muscle group tagging. Plus you can add your own custom exercises.&lt;/p&gt;
&lt;h3&gt;
  
  
  Mobile + Desktop
&lt;/h3&gt;

&lt;p&gt;Works great on both. I train with my phone, I review progress on my laptop. ASAP handles both without compromise.&lt;/p&gt;
&lt;h3&gt;
  
  
  You Own Your Data
&lt;/h3&gt;

&lt;p&gt;Self-host it with a single command:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;docker compose up
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;That's it. Postgres database, Node.js API, React frontend — all running in Docker. Your data never touches a third-party server unless you want it to.&lt;/p&gt;




&lt;h2&gt;
  
  
  The Tech Stack
&lt;/h2&gt;

&lt;p&gt;Here's what's under the hood:&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Layer&lt;/th&gt;
&lt;th&gt;Tech&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Frontend&lt;/td&gt;
&lt;td&gt;React 19, TypeScript, Vite&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Backend&lt;/td&gt;
&lt;td&gt;Node.js, Express, TypeScript&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;ORM&lt;/td&gt;
&lt;td&gt;Prisma&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Database&lt;/td&gt;
&lt;td&gt;PostgreSQL&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Auth&lt;/td&gt;
&lt;td&gt;JWT&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Deployment&lt;/td&gt;
&lt;td&gt;Docker + Docker Compose&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Docs&lt;/td&gt;
&lt;td&gt;VitePress&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;A few things I'm particularly happy with:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Prisma&lt;/strong&gt; made the data modeling genuinely enjoyable. The schema is clean, migrations are versioned, and the generated types mean the frontend and backend speak the same language without any extra glue.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;React 19&lt;/strong&gt; with SWR for data fetching gives the UI a snappy, optimistic feel even on slower connections. The dashboard feels fast because it mostly is.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The Docker setup&lt;/strong&gt; was a priority from day one. There are two compose configs included — one that brings up everything including Postgres (&lt;code&gt;compose.with-db.yaml&lt;/code&gt;), and one for people who want to point it at an external database (&lt;code&gt;compose.external-db.yaml&lt;/code&gt;). Self-hosting should be accessible, not a DevOps PhD thesis.&lt;/p&gt;




&lt;h2&gt;
  
  
  What the Data Model Looks Like
&lt;/h2&gt;

&lt;p&gt;The core of ASAP is built around a few key entities:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Users&lt;/strong&gt; — accounts with profiles (weight tracking, goals, etc.)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Exercises&lt;/strong&gt; — the 873-exercise library, each tagged with muscle groups, equipment, and category&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Routines&lt;/strong&gt; — user-defined workout plans composed of exercise slots&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Sessions&lt;/strong&gt; — individual workout instances tied to either a routine or ad-hoc&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Sets&lt;/strong&gt; — the actual logged data: reps, weight, RPE, hard set flag&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Progress&lt;/strong&gt; — derived from sets over time: volume, PRs, trends&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The schema is clean enough that if you want to write your own queries against your self-hosted database — you can. It's just Postgres.&lt;/p&gt;




&lt;h2&gt;
  
  
  Why Open Source?
&lt;/h2&gt;

&lt;p&gt;A few reasons:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;1. I wanted to use it myself without worrying about the app dying.&lt;/strong&gt;&lt;br&gt;
If I build it, I control it. If I open source it, the community can keep it alive even if I get hit by a bus.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;2. Fitness data is personal.&lt;/strong&gt;&lt;br&gt;
Your training history is a record of years of work. That shouldn't live on someone else's server behind a subscription. You should own it.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;3. Developers lift too.&lt;/strong&gt;&lt;br&gt;
I figured there are enough developer-lifters out there who'd either want to use this directly, contribute to it, or fork it and make it their own thing. All of that is welcome.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;4. Building in public keeps you honest.&lt;/strong&gt;&lt;br&gt;
Shipping something people can actually read, run, and critique is a better forcing function for code quality than any linter.&lt;/p&gt;


&lt;h2&gt;
  
  
  The Docs
&lt;/h2&gt;

&lt;p&gt;One thing I put real effort into: &lt;strong&gt;the documentation.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Too many open source projects are impossible to run locally because the README is three lines and a "good luck." ASAP has a full docs site covering:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Installation and self-hosting&lt;/li&gt;
&lt;li&gt;API reference (auth, exercises, sessions, progress, weights, profile)&lt;/li&gt;
&lt;li&gt;Feature guides&lt;/li&gt;
&lt;li&gt;Contributing guide&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Docs: &lt;a href="https://asap-open.github.io/asap-docs" rel="noopener noreferrer"&gt;https://asap-open.github.io/asap-docs&lt;/a&gt;&lt;/p&gt;


&lt;h2&gt;
  
  
  What's Next
&lt;/h2&gt;

&lt;p&gt;There's a real backlog here. Some things I'm thinking about:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Offline support / PWA&lt;/strong&gt; — you shouldn't need a connection mid-set&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Plate calculator&lt;/strong&gt; — tell it your bar weight and available plates, it tells you the setup&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;AI-assisted volume recommendations&lt;/strong&gt; — not vibes, actual volume landmarks based on your history&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Improved muscle heatmap&lt;/strong&gt; — visual body map showing weekly volume distribution&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Webhooks / export&lt;/strong&gt; — CSV, JSON, whatever format you want&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;If any of these sounds interesting to you — or if you have something completely different you'd want to see — open an issue or drop a comment here.&lt;/p&gt;


&lt;h2&gt;
  
  
  Try It / Contribute
&lt;/h2&gt;

&lt;p&gt;If you're a developer, a lifter, or both — I'd genuinely love for you to check it out.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Run it locally in 60 seconds:&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;git clone https://github.com/asap-open/ASAP
&lt;span class="nb"&gt;cd &lt;/span&gt;asap/deploy
docker compose &lt;span class="nt"&gt;-f&lt;/span&gt; compose.with-db.yaml up
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Star it, fork it, open issues, submit PRs.&lt;/strong&gt; Every kind of contribution is welcome — features, bug fixes, better docs, design feedback, all of it.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;GitHub: &lt;a href="https://github.com/asap-open/ASAP" rel="noopener noreferrer"&gt;https://github.com/asap-open/ASAP&lt;/a&gt;&lt;br&gt;
Docs: &lt;a href="https://asap-open.github.io/asap-docs" rel="noopener noreferrer"&gt;https://asap-open.github.io/asap-docs&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;




&lt;p&gt;&lt;em&gt;Built with React 19, Node.js, Prisma, PostgreSQL, and Docker by someone who got tired of their PR data disappearing into the void.&lt;/em&gt;&lt;/p&gt;




</description>
      <category>opensource</category>
      <category>fitenesstech</category>
      <category>selfhosting</category>
      <category>buildinpublic</category>
    </item>
    <item>
      <title>Expanding Your Self-Hosted Server: Portainer, Homarr, and Netdata</title>
      <dc:creator>Sarthak Goyal</dc:creator>
      <pubDate>Mon, 11 Aug 2025 13:53:25 +0000</pubDate>
      <link>https://dev.to/sarthak_g0yal/expanding-your-self-hosted-server-portainer-homarr-and-netdata-49pl</link>
      <guid>https://dev.to/sarthak_g0yal/expanding-your-self-hosted-server-portainer-homarr-and-netdata-49pl</guid>
      <description>&lt;p&gt;Following last week’s blog — &lt;a href="https://dev.to/sarthak_g0yal/getting-started-with-self-hosting-your-first-home-server-2518"&gt;Getting Started with Self-Hosting Your First Home Server&lt;/a&gt; — we’ll take things a step further and explore a few more services you can run on your server.&lt;/p&gt;

&lt;p&gt;These are beginner-friendly tools that don’t require much configuration but still provide meaningful functionality:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Portainer - Container Management&lt;/li&gt;
&lt;li&gt;Homarr  - A Sleek Dashboard&lt;/li&gt;
&lt;li&gt;Netdata - Server Monitoring &lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;All three will be deployed using &lt;strong&gt;Docker Compose&lt;/strong&gt; for simplicity and easy management.&lt;/p&gt;




&lt;h2&gt;
  
  
  What is Docker compose?
&lt;/h2&gt;

&lt;p&gt;If you have never heard of it then you can think of it as a overpowered feature of docker that allows you manage containers state and what not with just a 1 line of command. It consist of a YAML file which are basically configuration files that tell compose what containers to run with what all settings.&lt;br&gt;
To install docker compose on you machine you can follow the official documentation &lt;a href="https://docs.docker.com/compose/install/" rel="noopener noreferrer"&gt;here&lt;/a&gt;. &lt;/p&gt;

&lt;p&gt;Once installed, we’ll set up a clean directory structure to organize our Compose files.&lt;/p&gt;


&lt;h2&gt;
  
  
  Setting up the directory structure
&lt;/h2&gt;

&lt;p&gt;SSH into your server and run:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nb"&gt;cd&lt;/span&gt; &lt;span class="nv"&gt;$HOME&lt;/span&gt;
&lt;span class="nb"&gt;mkdir&lt;/span&gt; &lt;span class="nt"&gt;-p&lt;/span&gt; docker/&lt;span class="o"&gt;{&lt;/span&gt;portainer,netdata,homarr&lt;span class="o"&gt;}&lt;/span&gt;
&lt;span class="nb"&gt;cd &lt;/span&gt;docker
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This will create a &lt;code&gt;docker&lt;/code&gt; folder in your home directory, with subfolders for each service. Keeping things organized now will save you headaches later when you add more services.&lt;/p&gt;




&lt;h2&gt;
  
  
  1. Deploying Portainer
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Portainer&lt;/strong&gt; provides a web-based interface to manage your Docker environment — images, containers, volumes, and networks — without touching the command line.&lt;br&gt;
More details: &lt;a href="https://www.portainer.io/" rel="noopener noreferrer"&gt;portainer.io&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Navigate to the Portainer directory and create a &lt;code&gt;docker-compose.yml&lt;/code&gt;:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nb"&gt;cd&lt;/span&gt; &lt;span class="nv"&gt;$HOME&lt;/span&gt;/docker/portainer
&lt;span class="nb"&gt;sudo &lt;/span&gt;nano docker-compose.yml

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Paste the following:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight yaml"&gt;&lt;code&gt;&lt;span class="na"&gt;services&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
  &lt;span class="na"&gt;portainer&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
    &lt;span class="na"&gt;image&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;portainer/portainer-ce:latest&lt;/span&gt;
    &lt;span class="na"&gt;ports&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
      &lt;span class="pi"&gt;-&lt;/span&gt; &lt;span class="s"&gt;9443:9443&lt;/span&gt;
    &lt;span class="na"&gt;volumes&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
      &lt;span class="pi"&gt;-&lt;/span&gt; &lt;span class="s"&gt;data:/data&lt;/span&gt;
      &lt;span class="pi"&gt;-&lt;/span&gt; &lt;span class="s"&gt;/var/run/docker.sock:/var/run/docker.sock&lt;/span&gt;
    &lt;span class="na"&gt;restart&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;unless-stopped&lt;/span&gt;

&lt;span class="na"&gt;volumes&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
  &lt;span class="na"&gt;data&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Start Portainer:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nb"&gt;sudo &lt;/span&gt;docker compose up &lt;span class="nt"&gt;-d&lt;/span&gt;

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Access it in your browser:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;https://&amp;lt;server-ip&amp;gt;:9443

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;You’ll be prompted to create your admin account.&lt;br&gt;
&lt;em&gt;Tip: If port 9443 is already in use, change it in the &lt;code&gt;ports&lt;/code&gt; section.&lt;/em&gt;&lt;/p&gt;


&lt;h2&gt;
  
  
  2. Deploying Homarr
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Homarr&lt;/strong&gt; is a beautiful, customizable dashboard that puts all your apps and services in one place. It can even integrate with certain apps to display live stats.&lt;br&gt;
More details: &lt;a href="https://homarr.dev/" rel="noopener noreferrer"&gt;homarr.dev&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Navigate to the Homarr directory:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nb"&gt;cd&lt;/span&gt; &lt;span class="nv"&gt;$HOME&lt;/span&gt;/docker/homarr
&lt;span class="nb"&gt;sudo &lt;/span&gt;nano docker-compose.yml

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Paste the following:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight yaml"&gt;&lt;code&gt;&lt;span class="na"&gt;services&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
  &lt;span class="na"&gt;homarr&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
    &lt;span class="na"&gt;container_name&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;homarr&lt;/span&gt;
    &lt;span class="na"&gt;image&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;ghcr.io/homarr-labs/homarr:latest&lt;/span&gt;
    &lt;span class="na"&gt;restart&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;unless-stopped&lt;/span&gt;
    &lt;span class="na"&gt;volumes&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
      &lt;span class="pi"&gt;-&lt;/span&gt; &lt;span class="s"&gt;/var/run/docker.sock:/var/run/docker.sock&lt;/span&gt;
      &lt;span class="pi"&gt;-&lt;/span&gt; &lt;span class="s"&gt;./homarr/appdata:/appdata&lt;/span&gt;
    &lt;span class="na"&gt;environment&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
      &lt;span class="pi"&gt;-&lt;/span&gt; &lt;span class="s"&gt;SECRET_ENCRYPTION_KEY=&amp;lt;your_encryption_key&amp;gt;&lt;/span&gt;
    &lt;span class="na"&gt;ports&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
      &lt;span class="pi"&gt;-&lt;/span&gt; &lt;span class="s1"&gt;'&lt;/span&gt;&lt;span class="s"&gt;7575:7575'&lt;/span&gt;

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;You can generate a 32-byte encryption key with:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;openssl rand &lt;span class="nt"&gt;-hex&lt;/span&gt; 32

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Or use the key generator in &lt;a href="https://homarr.dev/docs/getting-started/installation/docker/" rel="noopener noreferrer"&gt;Homarr’s installation docs&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Start Homarr:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nb"&gt;sudo &lt;/span&gt;docker compose up &lt;span class="nt"&gt;-d&lt;/span&gt;

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Access it at:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;http://&amp;lt;server-ip&amp;gt;:7575

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;From there, you can start customizing your dashboard.&lt;br&gt;
Setup guide: &lt;a href="https://homarr.dev/docs/getting-started/after-the-installation" rel="noopener noreferrer"&gt;Homarr post-install docs&lt;/a&gt;&lt;/p&gt;


&lt;h2&gt;
  
  
  3. Deploying Netdata
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Netdata&lt;/strong&gt; gives you real-time performance and health monitoring for your server — CPU usage, RAM, disk activity, network stats, and much more.&lt;br&gt;
More details: &lt;a href="https://www.netdata.cloud/" rel="noopener noreferrer"&gt;netdata.cloud&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Navigate to the Netdata directory:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nb"&gt;cd&lt;/span&gt; &lt;span class="nv"&gt;$HOME&lt;/span&gt;/docker/netdata
&lt;span class="nb"&gt;sudo &lt;/span&gt;nano docker-compose.yml

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Paste the following:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight yaml"&gt;&lt;code&gt;&lt;span class="na"&gt;services&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
  &lt;span class="na"&gt;netdata&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
    &lt;span class="na"&gt;image&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;netdata/netdata&lt;/span&gt;
    &lt;span class="na"&gt;container_name&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;netdata&lt;/span&gt;
    &lt;span class="na"&gt;ports&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
      &lt;span class="pi"&gt;-&lt;/span&gt; &lt;span class="s"&gt;19999:19999&lt;/span&gt;
    &lt;span class="na"&gt;restart&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;unless-stopped&lt;/span&gt;
    &lt;span class="na"&gt;cap_add&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
      &lt;span class="pi"&gt;-&lt;/span&gt; &lt;span class="s"&gt;SYS_PTRACE&lt;/span&gt;
    &lt;span class="na"&gt;security_opt&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
      &lt;span class="pi"&gt;-&lt;/span&gt; &lt;span class="s"&gt;apparmor:unconfined&lt;/span&gt;
    &lt;span class="na"&gt;volumes&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
      &lt;span class="pi"&gt;-&lt;/span&gt; &lt;span class="s"&gt;/proc:/host/proc:ro&lt;/span&gt;
      &lt;span class="pi"&gt;-&lt;/span&gt; &lt;span class="s"&gt;/sys:/host/sys:ro&lt;/span&gt;
      &lt;span class="pi"&gt;-&lt;/span&gt; &lt;span class="s"&gt;/var/run/docker.sock:/var/run/docker.sock:ro&lt;/span&gt;

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Start Netdata:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nb"&gt;sudo &lt;/span&gt;docker compose up &lt;span class="nt"&gt;-d&lt;/span&gt;

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Access it in your browser:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;http://&amp;lt;server-ip&amp;gt;:19999

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;You can skip account creation and use the dashboard anonymously if you prefer.&lt;/p&gt;




&lt;h2&gt;
  
  
  Wrapping up
&lt;/h2&gt;

&lt;p&gt;With Portainer, Homarr, and Netdata running, you now have:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;An easy way to manage containers&lt;/strong&gt; (Portainer)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;A sleek dashboard for quick access&lt;/strong&gt; (Homarr)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Real-time server analytics&lt;/strong&gt; (Netdata)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;All deployed using Docker Compose, making them easy to start, stop, or upgrade later.&lt;/p&gt;

&lt;p&gt;If you found this guide helpful, consider subscribing or following for more self-hosting tutorials. Feel free to leave your thoughts or questions in the comments.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Cheers&lt;/strong&gt;,&lt;br&gt;
Sarthak&lt;/p&gt;

</description>
      <category>tech</category>
      <category>selfhost</category>
      <category>docker</category>
      <category>dockercompose</category>
    </item>
    <item>
      <title>Getting Started with Self-Hosting: Your First Home Server</title>
      <dc:creator>Sarthak Goyal</dc:creator>
      <pubDate>Mon, 04 Aug 2025 14:55:31 +0000</pubDate>
      <link>https://dev.to/sarthak_g0yal/getting-started-with-self-hosting-your-first-home-server-2518</link>
      <guid>https://dev.to/sarthak_g0yal/getting-started-with-self-hosting-your-first-home-server-2518</guid>
      <description>&lt;p&gt;Self-hosting opens up a world of possibilities, giving you the freedom to build and run almost anything in your homelab. The only real limit is the capacity of your hardware.&lt;/p&gt;

&lt;p&gt;Beyond the flexibility it offers, self-hosting is an excellent way to explore new technologies and enhance your technical skills through hands-on experience. It allows you to host your own projects without depending on third-party services, often at little to no cost. While some setups may require a modest investment, students can take advantage of the GitHub Student Developer Pack to get started for free.&lt;/p&gt;

&lt;p&gt;You can also repurpose old hardware — such as an unused laptop or desktop — that might otherwise end up discarded, giving it a new life in your home server setup.&lt;/p&gt;

&lt;h3&gt;
  
  
  How to Get Started
&lt;/h3&gt;

&lt;p&gt;Getting started with your first home server is straightforward. The only essential equipment you need is:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;A device to serve as your server (an old laptop, desktop, or any spare computer)&lt;/li&gt;
&lt;li&gt;An Ethernet cable (recommended for a stable connection)&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Step 1: Install an Operating System
&lt;/h3&gt;

&lt;p&gt;The first step is to install an operating system (OS) on your server that will run your services. For beginners, I recommend using Linux, specifically &lt;strong&gt;Ubuntu Server&lt;/strong&gt;, due to its ease of use and strong community support. &lt;a href="https://www.youtube.com/watch?v=zs2zdVPwZ7E" rel="noopener noreferrer"&gt;Here&lt;/a&gt; is a tutorial to help you install Ubuntu server.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Note:&lt;/strong&gt; Familiarity with the command line (terminal) is helpful but not mandatory. A good beginner tutorial for Linux terminal basics can be found &lt;a href="https://ubuntu.com/tutorials/command-line-for-beginners#1-overview" rel="noopener noreferrer"&gt;here&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;If your device already has Windows installed and you prefer not to replace it, you can skip the OS installation step and proceed, but using Linux generally provides a more flexible environment for server applications.&lt;/p&gt;

&lt;h3&gt;
  
  
  Step 2: Connect Your Server to the Internet
&lt;/h3&gt;

&lt;p&gt;You have two main options to connect your server to the internet:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Ethernet cable:&lt;/strong&gt; Preferred for a stable and reliable connection.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Wi-Fi:&lt;/strong&gt; Possible, but reliability can vary depending on signal strength.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;After connecting your server to the network, find its IP address by running the following command in the terminal:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;ip a
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Look for the local (private) IP address associated with your network interface (often something like 192.168.x.x or 10.x.x.x). The loopback address (127.0.0.1) is not the one you need.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fk874fp8ktw9rjcyczhnq.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fk874fp8ktw9rjcyczhnq.png" alt="Output of ip a" width="800" height="189"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Step 3: Connect to Your Server Using SSH
&lt;/h3&gt;

&lt;p&gt;Moving forward we will use SSH to connect to our server to manage it and deploy services on it. SSH (Secure Shell) allows you to manage your server remotely from another computer on the same network.&lt;/p&gt;

&lt;p&gt;On your host machine, open a terminal and run:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;ssh username@ipaddress
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Replace &lt;code&gt;username&lt;/code&gt; with your server's user account name and &lt;code&gt;ipaddress&lt;/code&gt; with the IP address you found in the previous step.&lt;br&gt;
The first time you connect, you will be prompted to verify the server's host key:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;The authenticity of host &lt;span class="s1"&gt;'192.168.1.10 (192.168.1.10)'&lt;/span&gt; can&lt;span class="s1"&gt;'t be established.
ECDSA key fingerprint is SHA256:Zf45K8eT0Q9nsPz4lYgG+ZxCwFJ7X9A3lRM9z+EtO1k.
Are you sure you want to continue connecting (yes/no/[fingerprint])? yes
Warning: Permanently added '&lt;/span&gt;192.168.1.10&lt;span class="s1"&gt;' (ECDSA) to the list of known hosts.
username@192.168.1.10'&lt;/span&gt;s password:
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Type &lt;code&gt;yes&lt;/code&gt; and enter your password when prompted (note: password input will be hidden).&lt;/p&gt;

&lt;h3&gt;
  
  
  Step 4: Update Your Server
&lt;/h3&gt;

&lt;p&gt;Once logged in, update your package lists and upgrade installed software to the latest versions:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nb"&gt;sudo &lt;/span&gt;apt update &lt;span class="o"&gt;&amp;amp;&amp;amp;&lt;/span&gt; &lt;span class="nb"&gt;sudo &lt;/span&gt;apt upgrade &lt;span class="nt"&gt;-y&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Now the real fun begins. We will now start deploying services on our server using docker.&lt;/p&gt;

&lt;h3&gt;
  
  
  Step 5: Deploy Your First Service with Docker
&lt;/h3&gt;

&lt;p&gt;Docker is a containerization platform that packages applications and their dependencies into portable containers. Containers ensure that applications run consistently across different environments.&lt;/p&gt;

&lt;p&gt;For beginners, Docker simplifies deploying and managing services on your server. To learn more about docker &lt;a href="https://spacelift.io/blog/docker-tutorial" rel="noopener noreferrer"&gt;here&lt;/a&gt; is a simple tutorial to help you with the basics of the docker.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Installing Docker on Ubuntu Server&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Follow the official Docker installation guide here: &lt;a href="https://docs.docker.com/engine/install/ubuntu/" rel="noopener noreferrer"&gt;Docker Engine Installation on Ubuntu&lt;/a&gt;.&lt;/p&gt;

&lt;h3&gt;
  
  
  Step 6: Install Portainer for Container Management
&lt;/h3&gt;

&lt;p&gt;Portainer is a lightweight management UI for Docker that makes container management accessible via a web interface.&lt;/p&gt;

&lt;p&gt;Run these commands to set up Portainer:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nb"&gt;sudo &lt;/span&gt;docker volume create portainer_data
&lt;span class="nb"&gt;sudo &lt;/span&gt;docker run &lt;span class="nt"&gt;-d&lt;/span&gt; &lt;span class="nt"&gt;-p&lt;/span&gt; 8000:8000 &lt;span class="nt"&gt;-p&lt;/span&gt; 9443:9443 &lt;span class="nt"&gt;--name&lt;/span&gt; portainer &lt;span class="nt"&gt;--restart&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;always &lt;span class="nt"&gt;-v&lt;/span&gt; /var/run/docker.sock:/var/run/docker.sock &lt;span class="nt"&gt;-v&lt;/span&gt; portainer_data:/data portainer/portainer-ce:lts
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;You can now access Portainer by navigating to:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;https://&amp;lt;your-server-ip&amp;gt;:9443
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;For example, if your IP is &lt;code&gt;192.168.1.10&lt;/code&gt;, open:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;https://192.168.1.10:9443
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;p&gt;And there you have it, your very first service running in your own server. In the upcoming blogs we will explore more services that can deployed on your server. I will be posting every Monday so you should look forward to it.&lt;/p&gt;

&lt;p&gt;If you found this guide helpful, consider subscribing or following for more tutorials. Also leave a like if you want more such content.&lt;br&gt;
You can also share your thought in the comment section.&lt;/p&gt;

&lt;p&gt;Cheers,&lt;br&gt;
Sarthak&lt;/p&gt;

</description>
      <category>tech</category>
      <category>selfhosting</category>
      <category>linuxserver</category>
    </item>
    <item>
      <title>MY FIRST BLOG 😁</title>
      <dc:creator>Sarthak Goyal</dc:creator>
      <pubDate>Mon, 28 Jul 2025 04:51:00 +0000</pubDate>
      <link>https://dev.to/sarthak_g0yal/my-first-blog-462a</link>
      <guid>https://dev.to/sarthak_g0yal/my-first-blog-462a</guid>
      <description>&lt;p&gt;Hey Guys,&lt;/p&gt;

&lt;p&gt;For my first blog i wanted to say hi to all the readers and also introduce myself.&lt;/p&gt;

&lt;p&gt;I am Sarthak Goyal, an undergraduate student at IIIT Dharwad currently pursuing a &lt;strong&gt;Bachelors of Technology in Computer Science and Engineering&lt;/strong&gt;. My Interests lies in &lt;strong&gt;Software Engineering, Development, Machine Learning and DevOps&lt;/strong&gt;. I am fluent in Hindi, English, Python 😁 and I’m current learning Java. I focus on making a products that solve real world problem rather then just writing just the code.&lt;/p&gt;

&lt;p&gt;Beyond tech, i am a hobbyist photographer and like to read books during my free time. You can check out my &lt;a href="https://www.instagram.com/sarthak_g0yal/" rel="noopener noreferrer"&gt;Instagram&lt;/a&gt; for my  hobby related content.&lt;/p&gt;

&lt;p&gt;Also one more topic that draws my attention is &lt;strong&gt;Finance&lt;/strong&gt; may be because i am a “Baniya” by caste. If you don’t know what that is, just search “Baniya Cast in India” and you will get the context. I find financial systems, investing, and money management quite intriguing.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Future content&lt;/strong&gt; will cover topics related to &lt;strong&gt;Python, ML/DL, Self-Hosting, Linux, and more&lt;/strong&gt;. I am open for all kind of discussion related to &lt;strong&gt;Python, Linux, Machine Learning, Deep Learning, Self Hosting and more&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;I guess that’s it for now— Thanks for reading.&lt;/p&gt;

&lt;p&gt;Cheers,&lt;/p&gt;

&lt;p&gt;Sarthak Goyal&lt;/p&gt;

</description>
      <category>myfirstblog</category>
      <category>intro</category>
      <category>tech</category>
      <category>readitman</category>
    </item>
  </channel>
</rss>
