Installation 

Requirements 

Before installing nr-vault, ensure your system meets these requirements:

  • TYPO3 v14.0 or higher.
  • PHP 8.5 or higher.
  • PHP sodium extension (usually included in PHP 8.5).
  • Composer-based TYPO3 installation.

Installation via Composer 

Install the extension using Composer:

Install via Composer
composer require netresearch/nr-vault
Copied!

Activate the extension 

After installation, activate the extension in the TYPO3 backend:

  1. Go to Admin Tools > Extensions.
  2. Find "nr-vault" in the list.
  3. Click the activation icon.

Or use the command line:

Activate extension via CLI
vendor/bin/typo3 extension:activate nr_vault
Copied!

Database schema 

Update the database schema to create the required tables:

Update database schema
vendor/bin/typo3 database:updateschema
Copied!

This creates the following tables:

  • tx_nrvault_secret - Stores encrypted secrets with metadata.
  • tx_nrvault_audit_log - Stores audit log entries with hash chain.

Master key setup 

Before using nr-vault, you must configure a master key. See the Configuration section for details on master key providers.

Quick start with environment variable 

The fastest way to get started is using an environment variable:

  1. Generate a master key:

    Generate master key
    openssl rand -base64 32
    Copied!
  2. Set the environment variable:

    Set environment variable
    export NR_VAULT_MASTER_KEY="your-generated-key"
    Copied!
  3. Configure the extension to use the environment provider (see Configuration).

Verify installation 

Verify the installation by listing secrets (should return empty if newly installed):

List vault secrets
vendor/bin/typo3 vault:list
Copied!

If the command executes without errors, the extension is properly configured.

You can also test by storing and retrieving a test secret:

Test vault functionality
# Store a test secret
vendor/bin/typo3 vault:store test_secret --value="test-value"

# Retrieve it
vendor/bin/typo3 vault:retrieve test_secret

# Clean up
vendor/bin/typo3 vault:delete test_secret --force
Copied!