How to reduce Next.js build times??
dillion
HOBBYOP

2 years ago

Takes about 5-8 minutes to build and deploy now which is annyoing.
Also increases every week

35 Replies

dillion
HOBBYOP

2 years ago

030a956c-af55-4f43-a7de-5bdff4ea474b


dillion
HOBBYOP

2 years ago

im not using any configuration btw, just default nix packs


medim
MODERATOR

2 years ago

Besides code-wise and file excluding optimization I don't think u can do much


medim
MODERATOR

2 years ago

But iirc railway caches build so your next build may be faster (I can be wrong on this one)


dillion
HOBBYOP

2 years ago

why are vercel builds so much faster though?


brody
EMPLOYEE

2 years ago

vercel made next


medim
MODERATOR

2 years ago

Well, they literally created nextjs


medim
MODERATOR

2 years ago

And use "specific technologies" for it


brody
EMPLOYEE

2 years ago

in turn, railway is not hyper optimized for any one specific type of app


dillion
HOBBYOP

2 years ago

this is not very helpful tbh


dillion
HOBBYOP

2 years ago

i would appreciate if you woulr rather direct me towards resources towards optimizing nixpacks for next.js


pepijn
PRO

2 years ago

Just to chip in, in my case Vercel is actually slower in a fresh build, haha (using Next 14). But in Railway you have overhead which Vercel does not have? (or maybe less) due to the creating and publishing the image is to registry after which it can be deployed.


pepijn
PRO

2 years ago

Additionally publishing the image (2.6GB) took around 3-4 mins


adam
MODERATOR

2 years ago

Optimizing nixpacks is not the way to go. Instead, creating your own dockerfile will likely be faster. We cannot help you with that here as it does not fall under the scope of “Platform Help”


adam
MODERATOR

2 years ago

you’ll have to research for yourself


dillion
HOBBYOP

2 years ago

Thanks for this direction! Will try this 🙂


dillion
HOBBYOP

2 years ago

thanks again <@744739465045737623>


dillion
HOBBYOP

2 years ago

made my own optimized dockerfile and build time cut by 50%



pepijn
PRO

2 years ago

Thanks, also interesting going this way reduced idle memory usage with 80%


Anonymous
TRIAL

2 years ago

yeah docker is not comparable to railway internal system to build stuff, docker is faster easier and uses less memory


brody
EMPLOYEE

2 years ago

docker is used to build the final image no matter what build system you choose to use, so that's not completely correct


dillion
HOBBYOP

2 years ago

Yep! My memory usage decreased significantly <@823198403668213760>

Build times went from 12min -> 6min
Memory usage also cut in half or so meaning costs are lower


dillion
HOBBYOP

2 years ago

Noticed the default nixpacks docker image for node is ubuntu instead of something like node-alpine?

Any reason why?
Cc <@539512869780455445>


brody
EMPLOYEE

2 years ago

so apt packages can be installed


macwilko
HOBBY

2 years ago

Just throwing this in here:



macwilko
HOBBY

2 years ago

imo it's better than next.js , you get a very similar benefit (SSR, React full stack)


macwilko
HOBBY

2 years ago

it runs well anywhere (including Railway.app)


macwilko
HOBBY

2 years ago

mem cost is great (idles about 25mb)


macwilko
HOBBY

2 years ago

my build time is about 2 minutes


pepijn
PRO

2 years ago

For comparison, after changing the NextJs build with the setup per above (including building NextJs with standalone option), my builds are also about 2 minutes for an ecommerce site connected to MedusaJs and Strapi. Memory usage in idle is around 40Mb.


Anonymous
TRIAL

2 years ago

fully agree on this and if you deploy it on cloudflare you will see blazing speeds never seen before


Anonymous
TRIAL

2 years ago

global servers across 200 countries, can handle insane traffic, 10x cheaper than almost anyone else


brody
EMPLOYEE

2 years ago

did you forget you where in the railway server? we shill railway here


Loading...