upvote
What are the system requirements for hosting it? I'm not sure I have the discretionary funds to host it for the general public - but it all depends on how heavy this is :)
reply
We run it on a single coolify box from someone’s house. 6 core, 32GB ddr4 memory box. The actual routing query are compute intensive but only momentarily. More cores and memory means higher concurrency but we’ve never had an issue with load in the Bay Area with a few hundred users a week. We used to run it on a k8s cluster but we cut it down to save on power and infrastructure management overhead.
reply
What does it mean to “cut it down”? Not familiar with k8s personally and unsure if it’s a technical thing or you just stopped using k8s
reply
By cut it down I mean, use fewer machines to host it.
reply
I imagine this kind of app is rather monolithic in nature. Maybe a static webapp frontend and then a single backend service? Not much of a point to split it into microservices if there is no real need to independently scale them and you don't have multiple consumers of each independent service. And if you don't need microservices you are probably better off avoiding the overhead of Kubernetes.
reply
The architecture is a static asset server (nginx), basic backend app server (node js), routing engine (Java) which is a fork of graphhopper, fast geocoder named photon (elasticsearch), full OSM places search called Nominatim that feeds photon (postgres) as well as a few asynchronous jobs that pull the latest OSM and transit data then rebuild the search indexes.

This was on a k8s cluster for a bunch of reasons. We eventually scrapped it and put the stack in one box instead of five.

reply