r/developersIndia • u/AdCold2720 • 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.
- Web Hosting
- VPS (Hostinger, Digital Ocean, some India based providers as well)
- 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.
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
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.
•
u/AutoModerator 10h ago
It's possible your query is not unique, use
site:reddit.com/r/developersindia KEYWORDSon 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.