# Installation & Usage

You will learn here how to install a new symfony project with chill, and configure it.

## Which kind of installation do I need?

### I want to run chill in production

See the [instructions about installing Chill for production ](installation-production.md).

### I want to add features to the main chill bundles

If you want to add features to chill bundles itself, **and** you want those features to be merged into the chill bundles,
you can use the "development" installation mode.

See the [instruction for installation for development ](installation-for-dev.md).

### I want to add features to Chill, but keep those features for my instance

Follow the same instruction than for production, until the end.

## Requirements

The installation is tested on a Debian-like linux distribution. The installation on other operating systems is not documented.

You have to install the following tools on your computer:

- [PHP](https://www.php.net/): version 8.3+, with the following extensions: pdo_pgsql, intl, mbstring, zip, bcmath, exif, sockets, redis, ast, gd;
- [composer ](https://getcomposer.org/);
- [symfony cli ](https://symfony.com/download);
- [node, we encourage you to use nvm to configure the correct version ](https://github.com/nvm-sh/nvm): The project contains a
  `nvmrc` file which selects automatically the required version of node (if present).
- [yarn](https://classic.yarnpkg.com/lang/en/docs/install/): We use version 1.22+ for now.
- [docker and the plugin compose ](https://docker.com) to run the database

Chill needs a redis server and a postgresql database, and a few other things like a "relatorio service" which will
generate documents from templates. **All these things are available through docker using the plugin compose**. We do not provide
information on how to run this without docker compose.

## Instructions

- [Installation for Development](installation-development.md)
- [Installation for Production](installation-production.md)
