---
title: "Incremental deployment"
manual: "TYPO3 Explained"
version: "12.4"
permalink: "https://docs.typo3.org/permalink/t3coreapi:manual-deployment-incremental@12.4"
source: "Administration/Deployment/IncrementalDeployment/Index.rst"
rendered: "2026-10-21T15:29:37+00:00"
---

> [!WARNING]
> **Attention**
>
> TYPO3 v12 has reached end-of-life as of April 30th 2026 and
> is no longer being maintained. Use the version switcher on the top
> left of this page to select documentation for a supported version of TYPO3.
>
> Need more time before upgrading?
> You can purchase Extended Long Term Support (ELTS) for TYPO3 v12 here:
> [TYPO3 ELTS](https://typo3.com/services/extended-support-elts).

# Incremental deployment {#manual-deployment-incremental}

After the initial deployment, incremental deployments are used to update code and
configuration.

Steps:

## Prepare the updated version locally: {#prepare-updated-version-locally}

-   Apply code or configuration changes
-   Run:

    ```bash
    composer install --no-dev
    ```

## Transfer only updated files to the server {#transfer-updated-files}

Include:

-   `public/` (excluding `fileadmin/`, `uploads/`)
-   `config/`
-   `vendor/`
-   `composer.lock`
-   etc.

Do not include dynamic or environment-specific files such as:

-   `var/`, `public/fileadmin/`, (these are managed on the server)

You can speed up the transfer using archive tools like zip or tar, or use
[rsync](https://docs.typo3.org/permalink/t3coreapi:deployment-rsync@12.4)
to copy only changed files.

## If database changes are required: {#if-database-changes-required}

-   Run the Upgrade Wizard in the TYPO3 backend
-   Or apply schema changes via CLI tools

## Flush TYPO3 caches: {#incremental-deploy-flush-caches}

```bash
./vendor/bin/typo3 cache:flush
```

> [!NOTE]
> Use a deployment script or tool such as
> [rsync](https://docs.typo3.org/permalink/t3coreapi:deployment-rsync@12.4) or
> [Deployer](https://docs.typo3.org/permalink/t3coreapi:deployment-deployer@12.4)
> to automate incremental deployments and avoid overwriting persistent data.
