Deploy some open source projects on Cloudflare Pages and Workers(?)
Hi! I've been lightly using Cloudflare for some years, though never needed Pages, Workers, KV etc. till now. Currently I'm trying to publish some applications for testing and experimentation purposes.
Some example open source projects that I can possibly publish are:
https://github.com/orangehrm
https://github.com/OpenMRS
https://github.com/frappe/hrms
https://github.com/optimajet/HRM
https://github.com/openemr
https://github.com/odoo/odoo
These might be difficult projects, and I'm open to easier, smaller examples.
What I'm struggling wrapping my head around is the distinct products Cloudflare is offering. Like for a complex project like odoo, would it be built on Pages with database on KV and dynamic parts on Workers?
Are there some examples that I can take a look to understand how the different parts of a complex project fit together that's 100% on Cloudflare?
GitHub
OrangeHRM
World's leading HRIS. OrangeHRM has 42 repositories available. Follow their code on GitHub.
GitHub
OpenMRS
Open source Health IT by and for the entire planet, starting with the developing world. - OpenMRS
GitHub
GitHub - frappe/hrms: Open Source HR and Payroll Software
Open Source HR and Payroll Software. Contribute to frappe/hrms development by creating an account on GitHub.
GitHub
GitHub - optimajet/HRM: Human resource management open source .net ...
Human resource management open source .net core. Contribute to optimajet/HRM development by creating an account on GitHub.
GitHub
OpenEMR
The most popular open source electronic health records and medical practice management solution. - OpenEMR
7 Replies
None of those projects will work well on pages. They use PHP, Python, Java and .net. Pages can run sites in two ways:
- It can serve any fully static site. When pages first launched, this was the only thing it could do out-of-the-box, but now there is also a second way
- Using functions, you can make the site dynamic. Functions are essentially an easier way to run workers in front of your pages project. It has the same limitations as workers. Most importantly that you can only run Javascript, things that can be turned into javascript (eg. typescript), and webassembly. Anything outside of that will require a lot of effort to run on workers / pages functions.
None of these projects are suited to run on workers
What I'm struggling wrapping my head around is the distinct products Cloudflare is offering. Like for a complex project like odoo, would it be built on Pages with database on KV and dynamic parts on Workers?Pages = static site hosting Pages functions = worker on a pages project Workers = Javascript / WASM script run in front of every request KV = Key-value store. The values are stored in a couple of locations around the world, and cached at the edge. This is not really suited as a replacement for a relational database D1 = SQLite on the edge. Currently still in Alpha, limited to 100mb of database size and only readable from one location Hope this helps
Awesome, thank you for helping me understand these, it makes sense. I'll see if I want to host these somewhere else for cheap (Google cloud, digital ocean, netlify?) and than only protect through Cloudflare.
I'm already closely following Cloudflare blog, now I'll understand the new product launches and definitely looking forward to expanding the catalog and features!
I'll go through the awesome-cloudflare GitHub repo, but do you have some examples of complex, dynamic projects hosted on Cloudflare? (My ultimate aim is to build a test bed for new QA engineers. Like, testing programmatically interacting with a website, including creating new data. Hence "any" relatively complex website)
This blog post may help to see the application design patterns: https://blog.cloudflare.com/better-micro-frontends/
The Cloudflare Blog
Cloudflare Workers and micro-frontends: made for one another
In this blog-post we demonstrate how hosting and combining multiple server-side rendered micro-frontends on Cloudflare Workers offer a highly scalable, high performance solution to these problems
Thank you. I saw that post but didn't go through it yet, will definitely check it out! So far I deployed https://github.com/microfeed/microfeed but couldn't find an easy to publish one for more complex projects like an HRM
GitHub
GitHub - microfeed/microfeed: a lightweight cms self-hosted on clou...
a lightweight cms self-hosted on cloudflare, for podcasts, blogs, photos, videos, documents, and curated urls. - GitHub - microfeed/microfeed: a lightweight cms self-hosted on cloudflare, for podca...
Unknown User•2y ago
Message Not Public
Sign In & Join Server To View
Thanks for responding! I don't specifically care for permanent storage in these projects, like only a demo that doesn't have to persist the entered data. After the micro feed, I did what you suggested with odoo; deployed on Google cloud and protected by Cloudflare.
I found a guide to help hide the IP of the original hosting, but couldn't achieve that. I'd appreciate if you have some instructions on that. Like I've installed Cloudflared in the hosting app and connected that to tunnel. But does that mean I can stop exposing the original?
Unknown User•2y ago
Message Not Public
Sign In & Join Server To View