Scully: Scully build server hardware requirement

Created on 4 Nov 2020  路  4Comments  路  Source: scullyio/scully

馃悶 Bug report

What is the hardware requirement for Scully Build ?

Description

Scully build process don't complete on small build server using docker build.

馃敩 Minimal Reproduction

If you are running scully build on small machine (2 GB, 1 CPU), it just don't exit. I m building application using gitlab CI.

馃捇Your Environment

Docker running inside small VM. (2 GB, 1 CPU)
Angular Version:
Running latest (10.x) angular version.





Scully Version:
1.x





馃敟 Exception or Error




question

All 4 comments

@kunjee17 Frankly, I have no idea.
Scully itself is a nodeJs program. It needs enough memory to keep your route-list with some additions in memory. It really depends on your setup here.
Then we need puppeteer. I checked, but could not find minimal requirements for that. As puppeteer itself is also mostly a nodeJs program, the memory requirements are probably not that big either.
However, puppeteer uses a headless chromium. That is again depending on what your app is doing, but this is a known CPU and memory hog. However (I did look) there are again no usable minimum requirements to be found.
I think the only way to get usable requirements is actually run and measure your setup. A lot is really depending on how your app is set up, and how it is managing its resources.

There are a lot of people building with Scully in CI/CD (we are running our own builds and test on GitHub Actions). I do get questions from people using gitlab on a slightly higher frequency, so they might be operating an the bare minimum. As far as I know all those people succeeded after setting a bigger --serverTimeOut number, and add the following settings for puppeteer in their config.

const config:ScullyConfig = {
    /** more settings */
    puppeteerLaunchOptions: { args: ['--no-sandbox', '--disable-setuid-sandbox'] },
}

As there is currently nothing actionable left, I'm going to close this issue for now.
Feel free to reopen a new issue, or keep on discussing in this one. If needed we will reopen it.

@kunjee17 Oh, as you mentioned docker, you might want to look into issue #924 too.

@SanderElias may be the case. Thanks a lot. I ll surely have a look. Will poke you again if stuck somewhere. Thanks a lot for reply.

Just for the future reference. If you are using buildkite/puppeteer image instead of node:12 everything works without any issue.

And obviously below in scully config file

puppeteerLaunchOptions: {
    args: ['--no-sandbox', '--disable-setuid-sandbox'],
  },
Was this page helpful?
0 / 5 - 0 ratings