Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
19 changes: 19 additions & 0 deletions src/routes/changelog/(entries)/2026-04-17.markdoc
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
---
layout: changelog
title: "Build timeouts increased to 45 minutes (Pro and above)"
date: 2026-04-17
---

We have raised the **maximum build duration** for [Sites](/docs/products/sites) and [Functions](/docs/products/functions) on Appwrite Cloud from **15 minutes to 45 minutes** for organizations on the **Pro plan and above**. Free and Starter organizations keep the **15-minute** build limit, so the longer window is an explicit benefit of upgrading when your workloads need it.
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P1 Non-existent "Starter" plan referenced

The text says "Free and Starter organizations keep the 15-minute build limit," but Appwrite's current plan tiers are free, pro, scale, and enterprise — there is no "Starter" plan. This appears in the compare-plans.svelte type definition and every data row. Mentioning a fictitious tier in a published changelog will confuse users who search for it.

Suggested change
We have raised the **maximum build duration** for [Sites](/docs/products/sites) and [Functions](/docs/products/functions) on Appwrite Cloud from **15 minutes to 45 minutes** for organizations on the **Pro plan and above**. Free and Starter organizations keep the **15-minute** build limit, so the longer window is an explicit benefit of upgrading when your workloads need it.
We have raised the **maximum build duration** for [Sites](/docs/products/sites) and [Functions](/docs/products/functions) on Appwrite Cloud from **15 minutes to 45 minutes** for organizations on the **Pro plan and above**. Free plan organizations keep the **15-minute** build limit, so the longer window is an explicit benefit of upgrading when your workloads need it.


Build pipelines are rarely constant-time: cold dependency caches, larger lockfiles, native compilation, first-time container layer pulls, and multi-stage bundling can push wall-clock time well beyond a minimal compile on a warm workstation. A 15-minute cap often fails builds that are otherwise healthy—especially after cache invalidation, dependency upgrades, or when parity with a longer-running CI job matters. For Pro and above, extending the ceiling to **45 minutes** reduces those false negatives, improves predictability when you are tuning [compute for build versus runtime](/docs/advanced/platform/compute), and removes pressure to split deployments or strip build steps solely to stay under a short timeout.

On eligible plans, you get fewer interrupted builds on legitimate workloads, less time spent re-running jobs after transient slowdowns, and closer alignment between what you can run locally or in your own CI and what Appwrite Cloud will accept during the build phase. Teams shipping larger frontends, monorepo-style repositories, or functions with heavier packaging steps should see the clearest gain. Compare plans and limits on the [pricing page](/pricing).

{% arrow_link href="/docs/advanced/platform/compute" %}
Learn about build and runtime compute
{% /arrow_link %}

{% arrow_link href="/pricing" %}
View plans and pricing
{% /arrow_link %}
16 changes: 15 additions & 1 deletion src/routes/docs/advanced/platform/compute/+page.markdoc
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
---
layout: article
title: Compute
description: Learn about CPU and memory options for Appwrite Functions and Sites on Cloud, including separate build and runtime specifications.
description: Learn about CPU and memory options for Appwrite Functions and Sites on Cloud, including separate build and runtime specifications and plan build timeouts.
---

On Appwrite Cloud, paid plans let you choose how much **CPU** and **memory** apply to **build** work and to **runtime** work. [Functions](/docs/products/functions) and [Sites](/docs/products/sites) each expose two settings: a **build specification** (install, compile, bundle, package) and a **runtime specification** (executions for functions; serving traffic and SSR for sites). You can pick different tiers for each phase so heavy builds do not force you to oversize steady execution, and vice versa.
Expand All @@ -25,6 +25,20 @@ Appwrite Cloud offers the following specification tiers. The same tiers are avai
On Appwrite Cloud, **Pro** plan organizations can change build and runtime specifications from the default 512MB and 0.5 CPU. The Free plan uses the default. For custom compute options, contact our [sales team](https://appwrite.io/contact-us/enterprise).
{% /info %}

# Build timeouts {% #build-timeouts %}

On **Appwrite Cloud**, each function and site **deployment build** (install, compile, bundle, and package) must finish within a **maximum build duration** that depends on your organization plan:

| Plan | Maximum build duration |
| --- | --- |
| Free | 15 minutes |
| Pro / Scale | 45 minutes |
| Enterprise | Custom |

These limits apply to the **build** phase only. [Function execution timeout](/docs/products/functions/functions#timeout) and [site request timeout](/docs/products/sites/develop#timeouts) are separate settings. Compare plans on the [pricing page](/pricing).

On **self-hosted** instances, the global ceiling for configurable build timeouts is [`_APP_COMPUTE_BUILD_TIMEOUT`](/docs/advanced/self-hosting/configuration/environment-variables) (default 900 seconds). Individual function and site settings cannot exceed that server-wide maximum.

Configure specifications in the Appwrite Console under each function or site **Settings** - **Resource limits**. See also the [Functions](/docs/products/functions/functions#resource-limits) and [Sites](/docs/products/sites/develop#resource-limits) configuration guides.

# GB-Hours {% #gb-hours %}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -57,5 +57,6 @@ Redeployment behavior varies depending on how the initial deployment was created
Users subscribed to the Appwrite Pro plan or above receive certain special benefits:

- [Express builds](/changelog/entry/2024-08-10) for quicker deployments, resulting in reduced wait times and smoother workflows
- Longer [build timeouts](/docs/advanced/platform/compute#build-timeouts) (45 minutes vs 15 minutes on Free; Enterprise is custom)
- Customizable [build and runtime specifications](/docs/advanced/platform/compute) for CPU and memory on each function
{% /info %}
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Missing newline at end of file

The diff shows \ No newline at end of file for this file (and the same applies to src/routes/docs/products/sites/deployments/+page.markdoc). POSIX tools and some linters expect a trailing newline; adding one keeps the files consistent with the rest of the repo.

Suggested change
{% /info %}
- Customizable [build and runtime specifications](/docs/advanced/platform/compute) for CPU and memory on each function
{% /info %}

4 changes: 4 additions & 0 deletions src/routes/docs/products/functions/functions/+page.markdoc
Original file line number Diff line number Diff line change
Expand Up @@ -109,6 +109,10 @@ Under **Settings** - **Resource limits**, you can set **build** and **runtime**

On Appwrite Cloud, customizing specifications requires the **Pro** plan. See [Compute](/docs/advanced/platform/compute) for tiers, GB-hours, and pricing.

## Build timeout {% #build-timeout %}

On Appwrite Cloud, the **build** phase of each deployment must complete within your plan’s **maximum build duration** (for example, 15 minutes on Free and 45 minutes on Pro and Scale). See [Build timeouts](/docs/advanced/platform/compute#build-timeouts) and the [pricing page](/pricing).

## Git integration {% #git-integration %}
You can update the entrypoint file and build settings of your function by navigating to your function > **Settings** > **Configuration**.

Expand Down
1 change: 1 addition & 0 deletions src/routes/docs/products/sites/deployments/+page.markdoc
Original file line number Diff line number Diff line change
Expand Up @@ -81,5 +81,6 @@ Redeployment behavior varies depending on how the initial deployment was created
Users subscribed to the Appwrite Pro plan or above receive certain special benefits:

- [Express builds](/changelog/entry/2024-08-10) for quicker deployments, resulting in reduced wait times and smoother workflows
- Longer [build timeouts](/docs/advanced/platform/compute#build-timeouts) (45 minutes vs 15 minutes on Free; Enterprise is custom)
- Customizable [build and runtime specifications](/docs/advanced/platform/compute) for CPU and memory on each site
{% /info %}
6 changes: 5 additions & 1 deletion src/routes/docs/products/sites/develop/+page.markdoc
Original file line number Diff line number Diff line change
Expand Up @@ -63,7 +63,7 @@ Appwrite passes the following environment variables into every deployed site by

{% partial file="sites-env-vars.md" /%}

# Timeouts
# Timeouts {% #timeouts %}

Each request made to a path on an Appwrite Site has a set time limit, after which the request will timeout. Here are the steps to configure those timeout period:

Expand All @@ -86,6 +86,10 @@ Under **Settings** - **Resource limits**, you can set **build** and **runtime**

On Appwrite Cloud, customizing specifications requires the **Pro** plan. See [Compute](/docs/advanced/platform/compute) for tiers, GB-hours, and pricing.

## Build timeout {% #build-timeout %}

On Appwrite Cloud, the **build** phase of each deployment must complete within your plan’s **maximum build duration** (for example, 15 minutes on Free and 45 minutes on Pro and Scale). See [Build timeouts](/docs/advanced/platform/compute#build-timeouts) and the [pricing page](/pricing).

# Project dependencies

To install your dependencies before your site is built, you should add the relevant install command to your site’s build settings. Here are the steps to add the install command:
Expand Down
4 changes: 4 additions & 0 deletions src/routes/pricing/+page.svelte
Original file line number Diff line number Diff line change
Expand Up @@ -126,6 +126,7 @@
project</span
>
</li>
<li><span>15-minute build timeouts</span></li>
</ul>
<p class="text-caption text-secondary mt-4">
Free projects are paused after 1 week of inactivity.
Expand Down Expand Up @@ -203,6 +204,9 @@
>Unlimited Databases, Buckets, and Functions</span
>
</li>
<li>
<span>45-minute build timeouts</span>
</li>
</ul>
</div>
</article>
Expand Down
8 changes: 8 additions & 0 deletions src/routes/pricing/compare-plans.svelte
Original file line number Diff line number Diff line change
Expand Up @@ -365,6 +365,14 @@
scale: '$2 per 1m',
enterprise: 'Custom'
},
{
title: 'Build timeout',
info: 'Maximum duration for Sites and Functions build jobs',
free: '15 minutes',
pro: '45 minutes',
scale: '45 minutes',
enterprise: 'Custom'
},
{
title: 'Express builds',
info: 'Dedicated priority queues for build jobs',
Expand Down