Does anyone know what is the `client_max_body_size` used for the ngix configuration on Penpot official servers?
I’m running into a “crash: request-body-too-large” bug that is making it impossible to update our design system further. It happens when I change a component which is used in many other components. Or if I change a token which is widely used.
Looking at the Network tab on google-chrome Developers Tools helps to prevent the issue sometimes. When it crashes it often comes preceeded by a `status 413` in one of the calls. I noticed that those changes trigger a bunch of of delete thumbnails calls, followed by creating thumbnails.
I suspect the issue is on Penpot handling of concurrent server calls (and missing some better bucket strategy or a retry strategy for failed jobs). My next step to investigate this is to try in our own local-hosting to change ngix `client_max_body_size`. I won’t be able to try this until Thursday, maybe Friday.
But meanwhile I was wondering which size the official Penpot server is using (I get the crash there as well, but it would help to have their number as reference). For the records the source code has ~~300MB~~ 30MB as the default. I also wonder if anyone had similar issues and if tweaking those values has helped.
So … we fixed our problem locally by bumping the max_body_size 10x (from 30MB to 300MB). It was inspired by this 2.14.0 commit, which basically did the same for develop.
Our self-host is based on 2.13.3 but this change worked for us. Effectively what we did was the following in our docker-compose.yml:
Which mimics what penpot 2.14.0 will have anyways.
The curious thing is that I cannot reproduce the issue anymore in penpot.design.app. So I wonder if this setting was changed on the official docker even for 2.13.3.
hey @dfelinto
"I haven’t had time to give you a proper reply until now. We raised both to the same value and deprecated the multipart; your workaround for 2.13.x is okay. We found ourselves in a similar situation recently. In any case, we need to think about how to handle those huge requests in the near future.
Thanks for the reply. I’m very happy you are still “dog fooding” and thus running into those issues too
Out of curiosity, has anything changed on the official Penpot instance meanwhile? Or will the server change only come into play in 2.14.0? Because unless I got “lucky” today I didn’t manage to reproduce this anymore there.
On our end this unlocked us to do some final changes in the v1 of our design system and publish it today!