Try ERPNext Buy Support Partners Foundation

Frappe Cloud: What is prohibited? What is permitted?

I might sign up for Frappe Cloud Hosting for the company I represent, but I am concerned about restrictions on what we might be allowed to do.

  • Are we allowed unrestricted access to MariaDB or is that entirely blocked?

  • Are we allowed unrestricted access to the REST API or is that entirely blocked?

  • Are we allowed unrestricted access to RPC API or is that entirely blocked?

  • Is it possible to install a new app that embeds a NodeJs service? Can it use its own MariaDb tables?

  • Is it permitted to modify Procfile?

  • Is it permitted to modify nginx.conf?

2 Likes

This is regarding Frappe Cloud. I’ll answer according to the current state and what is in the roadmap. We might drop these restrictions later based on demand (No guarantees).

Disclaimer: I am one of the developers of Frappe Cloud.

  • Are we allowed unrestricted access to MariaDB or is that entirely blocked?

You can’t access MariaDB instance over the internet. Your site, however, has unrestricted access to its database. You also have Administrator access to your site.

  • Are we allowed unrestricted access to the REST API or is that entirely blocked?

I’m assuming that this is regarding HTTP endpoints that start with /api/resource. There are no restrictions on any HTTP endpoints.

  • Are we allowed unrestricted access to RPC API or is that entirely blocked?

I’m assuming that this is regarding HTTP endpoints that start with /api/method, No restrictions.

You can also enable Server Scripts to make your HTTP endpoints without apps.

  • Is it permitted to modify Procfile?

Frappe Cloud runs in production mode, supervisor.conf is the equivalent of Procfile in production mode. No, you can’t modify it.

  • Is it possible to install a new app that embeds a NodeJs service?

We are working on making Custom Apps available, so far our roadmap includes support for frappe apps only. Nothing fancy. So No.

Can it use its own MariaDB tables?

Yes, Your site has complete access to its database. If you meant “database” then, No, every site has access to its database only, nothing else.

  • Is it permitted to modify nginx.conf?

No. If you have a valid use case, we can make it work.

7 Likes

@AdityaHase

This is extremely helpful. Thank you!

Given the conditions you describe, I cannot make use of Frappe Cloud. I absolutely need the NodeJS app for what I have to do.

However, I realize it doesn’t have to be embedded within the a Frappe app. I could probably use a lambda service from another cloud provider.

Would there be any chance your cloud’s road map has NodeJs lamba services on it?

About server scripts, they are probably dependent on the plan you choose as I get the below message when I try to use one in my instance on frappe.cloud. So some clarity as to which plan permits server scripts would be helpful.

1 Like

@pawan, you can enable server scripts from your frappe cloud console (edit site config)

@rmehta what answer would you give if the question is:

Who should not use Frappe Cloud and move on with own server, in the form of limitations, not price or managed things.

PS: I am not known to technical terms, if possible, can you make this answer so that a layman can also understand.

Ok, did not know it is editable from the front end, thanks for the clarification. I was able to enable it, posting the screenshot here, in case someone has the similar problem in future

2 Likes

Is it possible to add a filter for a report in Frappe Cloud?

Looking at these instructions: https://frappeframework.com/docs/user/en/guides/reports-and-printing/how-to-make-script-reports#2-add-filters

It appears one needs to insert some code into the JS file.

You can’t create a .js file directly on frappe cloud.

When you create a Script Report inside your instance itself, you will see a section for Javascript. Here you can add the filters.

But how does one save this? (This is ERPNext Cloud, not FC in this example, but same thing happened in FC):

1 Like

Yeah seems like a deadlock. Will need to fix this.