---
title: "Installation"
manual: "TYPO3 LLM Extension"
version: "0.35"
permalink: "https://docs.typo3.org/permalink/netresearch/nr-llm:installation@0.35"
source: "Installation/Index.rst"
modified: "2026-09-16T22:09:16+00:00"
---

# Installation

## Quick start

The recommended way to install this extension is via Composer:

**Install via Composer**

```bash
composer require netresearch/nr-llm
```

After installation:

1.  Activate the extension in **Admin Tools > Extension Manager**.
1.  Configure providers and API keys in
    **AI > Setup > Providers**.
1.  Define available models in **AI > Setup > Models**.
1.  Create configurations in **AI > Setup > Configurations**.
1.  Clear caches.

## Composer installation

### Requirements

Ensure your system meets these requirements:

-   PHP 8.2 or higher.
-   TYPO3 v13.4 LTS or v14.3 LTS.
-   Composer 2.x.
-   [`netresearch/nr-vault`](https://packagist.org/packages/netresearch/nr-vault) ^0.14.0 (required for
    API key encryption; installed automatically via
    Composer).

### Installation steps

1.  **Add the package**

    **Install via Composer**

    ```bash
    composer require netresearch/nr-llm
    ```
1.  **Activate the extension**

    Navigate to **Admin Tools > Extension Manager**
    and activate [EXT:nr_llm](https://extensions.typo3.org/extension/nr_llm).
1.  **Configure API keys**

    Use the setup wizard at
    **AI > Setup > Setup Wizard**
    to auto-detect your provider and discover models.

    ![LLM setup wizard](../Images/backend-setup-wizard.png)

    > [!TIP]
    > Not sure which provider you need? **AI > Setup > Get
    > Started** asks what you want to do first — editorial assistance,
    > translation, metadata, media accessibility, agent workflows, developer
    > integration — and can install a use-case pack for it: a configuration,
    > tasks and prompt snippets, created only after you confirm the list. The
    > *Editorial Starter* pack is the one currently shipped. The setup wizard
    > stays the technical route and is linked from every screen there.
    >
    > The plan you confirm also states the three things an install changes that
    > are not new records: the snippet tags it adds to the pack's own
    > configuration, any existing configuration that already selects one of
    > those tags and would therefore compose the pack's snippets into its
    > prompts too, and any existing snippet carrying one of those tags, which
    > the added tags compose into the pack's configuration. See
    > [Get Started: use-case packs](https://docs.typo3.org/permalink/netresearch/nr-llm:administration-usecase-packs@0.35).

    See [Configuration reference](https://docs.typo3.org/permalink/netresearch/nr-llm:configuration@0.35) for detailed setup
    instructions.
1.  **Clear caches**

    **Flush all caches**

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

## Manual installation

If you cannot use Composer:

1.  Download the extension from the TYPO3 Extension Repository (TER).
1.  Extract to `typo3conf/ext/nr_llm`.
1.  Activate in **Admin Tools > Extension Manager**.
1.  Configure API keys and settings.

> [!WARNING]
> Manual installation requires manual dependency management.
> Composer installation is strongly recommended.

## Database setup

The extension creates the following database tables automatically:

| Table | Purpose |
| --- | --- |
| `tx_nrllm_provider` | Stores API provider connections with encrypted credentials. |
| `tx_nrllm_model` | Stores available LLM models with capabilities and pricing. |
| `tx_nrllm_configuration` | Stores use-case-specific configurations with prompts and parameters. |
| `tx_nrllm_task` | Stores one-shot prompt tasks for common operations. |
| `tx_nrllm_prompttemplate` | Stores reusable prompt templates with versioning and performance tracking. |
| `tx_nrllm_service_usage` | Tracks specialized service usage (translation, speech, image). |

Run the database compare tool after installation:

**Set up extension database tables**

```bash
vendor/bin/typo3 extension:setup nr_llm
```

## Cache configuration

The extension uses TYPO3's caching framework. Cache
configuration is set up automatically — **no backend
is hardcoded**. TYPO3 uses your instance's default
cache backend, so Redis, Valkey, or Memcached work
transparently if configured.

To override the cache backend specifically for nr-llm:

**config/system/additional.php**

```php
use TYPO3\CMS\Core\Cache\Backend\RedisBackend;

$GLOBALS['TYPO3_CONF_VARS']['SYS']['caching']
    ['cacheConfigurations']['nrllm_responses']
    ['backend'] = RedisBackend::class;
```

## Upgrading

### From previous versions

1.  **Backup your database** before upgrading.
1.  Run Composer update:

    **Update the extension**

    ```bash
    composer update netresearch/nr-llm
    ```
1.  Run database migrations:

    **Update database schema**

    ```bash
    vendor/bin/typo3 database:updateschema
    ```
1.  Clear all caches:

    **Flush all caches**

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

### Breaking changes

Check the [Changelog](https://docs.typo3.org/permalink/netresearch/nr-llm:changelog@0.35) for breaking changes between versions.

## Uninstallation

To remove the extension:

1.  Deactivate in **Admin Tools > Extension Manager**.
1.  Remove via Composer:

    **Remove the extension**

    ```bash
    composer remove netresearch/nr-llm
    ```
1.  Clean up database tables if desired:

    **Drop extension database tables**

    ```sql
    DROP TABLE IF EXISTS tx_nrllm_provider;
    DROP TABLE IF EXISTS tx_nrllm_model;
    DROP TABLE IF EXISTS tx_nrllm_configuration;
    DROP TABLE IF EXISTS tx_nrllm_configuration_begroups_mm;
    DROP TABLE IF EXISTS tx_nrllm_task;
    DROP TABLE IF EXISTS tx_nrllm_prompttemplate;
    DROP TABLE IF EXISTS tx_nrllm_service_usage;
    ```
1.  Remove any TypoScript includes referencing the extension.
