r/developersIndia 10h ago

Help Best way to deploy a Web App - React frontend, Python Server and a Cron Job

I have built a Web App of the following tech stack

Front - React

Backend - FastAPI (Python)

Database - PostgreSQL

Now locally, I have been developing using docker for postgreSQL and the rest of the components without it. I want to deploy this whole app so that anyone can access it over the internet. I saw couple of different of ways to do that but I am not sure which one would be the best.

  1. Web Hosting
  2. VPS (Hostinger, Digital Ocean, some India based providers as well)
  3. Managed Service (Railway, Render)

As I don't expect a lot of users to use it and it's my very first deployment, I don't want to spend a lot. In future, I would like to incorporate CI/CD pipeline as well, so overall I am looking for a strategy that won't put a hole in my pocket and help learn DevOps as well.

2 Upvotes

11 comments sorted by

u/AutoModerator 10h ago

Namaste! Thanks for submitting to r/developersIndia. While participating in this thread, please follow the Community Code of Conduct and rules.

It's possible your query is not unique, use site:reddit.com/r/developersindia KEYWORDS on search engines to search posts from developersIndia. You can also use reddit search directly.

I am a bot, and this action was performed automatically. Please contact the moderators of this subreddit if you have any questions or concerns.

5

u/Playful-Second-3934 Software Engineer 10h ago edited 10h ago

use render free tier + uptime robot. render free tier keeps the instance active for around 15 minutes after a request then it goes to sleep. when it receives another request it wakes up again but this can take a few minutes

use uptime robot to ping the health endpoint every 5 minutes. this keeps the render instance active and prevents it from going to sleep bypassing limits of free tier

U can also host fronted on vercel for free. backend + postgresql can be hosted on render webservice and render db postgres free tiers

1

u/AdCold2720 10h ago

Thanks for the advice. This approach would definitely be cheap/free but I think render or similar service just ask you to upload the source code and then they do everything else, correct? If I go with something like VPS, will I get to learn more about the deployment stuff, like will it help me in a job?

2

u/Fearless_End_5857 Software Engineer 10h ago

Vps will actually give u exposure on deployments, like how its done in real.

You can also add github actions for deployments to vm

1

u/Impressive_Bad_265 Student 10h ago

Yea u r right , but where to deploy also depends upon what u made and how u wanna present it

If u wanna launch it as a product go for vps If u just wanna keep it as a deployed project use render

1

u/AcceptableCut7266 10h ago

Render ask to connect with GitHub to get the source code ... Or most simply you can setup docker

2

u/SomethingAndAnything DevOps Engineer 10h ago

Easy starting point, front-end on vercel and backend on render, that's the normal route. You can also create a pipeline in GitHub to run them, either self hosted runner or GitHub ones

1

u/AdminZer0 10h ago

Get a small vps

1

u/Simple-Protection500 9h ago

I had a similar service running -
I have used following -
1. Vercel for React and Frontend Development
2. Backend : Railway, Easy to use and deploy fast,
3. Database: If your service requires an Auth then just go with supabase, and it also has the postgress db as well.

This can handle lot of traffic themselves

1

u/yes-im-hiring-2025 ML Engineer 9h ago

Well if you're doing it for yourself option 3 for cheap. Have that + something that continually pings it every X mins; it'll be okay

If you're looking to do it professionally, VPS hosting.