Skip to content
StephanAltmann85 edited this page Oct 30, 2026 · 7 revisions

Configuration

PHP configuration

YAP may require an increased max_input_vars setting, especially when working with product types that contain many fields or when submitting large forms.

The default PHP value is typically 1000. We recommend setting it to at least 10000:

max_input_vars = 10000

You can configure this value in your PHP configuration (php.ini).

Make sure the setting also applies to the PHP runtime used by your web server (PHP-FPM or Apache), not just the CLI.

Setup for production

1. Get the source code

Clone the repository or create a new project using Composer:

Option A: Clone the repository

git clone git@github.com:yetAnotherPim/yap.git
cd yap

Option B: Install via Composer

composer create-project yet-another-pim/yap
cd yap

2. Configure the production environment

Set the environment variables for the installation:

export APP_ENV=prod
export APP_DEBUG=0

3. Install dependencies

Install Composer dependencies without development packages and optimize the autoloader:

composer install --no-dev --optimize-autoloader

4. Configure the application

Run the interactive setup wizard to configure the database connection and generate the required application secrets:

php bin/console yap:setup

5. Create and initialize the database

Create the configured database:

php bin/console doctrine:database:create --if-not-exists

Create tables:

php bin/console doctrine:schema:create

Apply the database migrations:

php bin/console doctrine:migrations:migrate --allow-no-migration

6. Generate the JWT key pair

Generate the private and public keys required for JWT authentication:

php bin/console lexik:jwt:generate-keypair --skip-if-exists

7. Create the first user

Create the initial administrator account:

php bin/console yap:user:create

8. Prepare the production environment

Compile the environment variables into .env.local.php:

composer dump-env prod

9. Compile frontend assets

Compile the AssetMapper assets for production:

php bin/console asset-map:compile

The application is now initialized and ready for further production configuration.Setup for production

Background Workers

YAP uses Symfony Messenger to process asynchronous messages.

Product updates (product_update)

The product_update transport processes product update messages asynchronously.

For production environments, configure a dedicated Messenger consumer for this transport using Supervisor or Systemd, as recommended by Symfony.

The consumer command is:

php /path/to/your/app/bin/console messenger:consume product_update --time-limit=3600

See the Symfony documentation for configuration examples:

Alternative: JsConsumer plugin

Instead of running a dedicated background worker, you can use the JsConsumer plugin to process product updates through a JavaScript consumer.