Skip to main content
Version: Thelia 3

Getting Started

Install Thelia 3 and get your store running.

Prerequisites

RequirementSupported
PHP8.3, 8.4 or 8.5 (8.3 recommended)
DatabaseMariaDB 10.11 or later (recommended), or MySQL 8.x

PHP extensions: PDO_MySQL, openssl, intl, gd, curl, dom. You also need Composer 2+ and a GitHub token for Composer, described in the next section.

How long each release series receives security fixes is described in the security policy.

Give Composer a GitHub token

Thelia publishes its Symfony Flex recipes in the thelia/thelia-recipes repository, and Composer reads them through the GitHub API. Without a token that API answers with a rate limit. Flex then falls back on generated recipes without reporting anything, the config/packages/*.yaml files Thelia expects are never written, and the install fails much later on an unrelated message, most often You must either configure a "public_key" or a "secret_key".

Create a token on github.com/settings/tokens. No scope is needed, the recipes are public. Give it to Composer once:

composer config --global github-oauth.github.com <your-token>

With DDEV, run the same command inside the container so the Composer that installs the project reads it:

ddev composer config --global github-oauth.github.com <your-token>

Start a new store

composer create-project thelia/thelia-project my-shop
cd my-shop

The skeleton gives you a project without the core sources in your repository. From there, follow either of the two setups below, starting at bin/install.

To work on Thelia itself, clone the repository instead: git clone https://github.com/thelia/thelia.git.

git clone https://github.com/thelia/thelia.git
cd thelia

ddev start
ddev composer install
ddev exec php bin/install --frontoffice_theme=flexy
ddev launch

bin/install builds the assets the active templates need — the front-office importmap and Tailwind stylesheet, and the back-office Sass stylesheet — so the storefront and /admin both answer right after the install.

Your store is at https://thelia.ddev.site, with the back-office at /admin. DDEV derives that hostname from the directory name, so a project created in my-shop/ answers on https://my-shop.ddev.site. Run ddev describe to check.

To add demo data and an admin account:

ddev exec php bin/install --frontoffice_theme=flexy \
--with-demo --with-admin \
--admin_login=admin --admin_password=admin123

Without DDEV

git clone https://github.com/thelia/thelia.git
cd thelia
composer install

php bin/install --database_host=localhost --database_name=thelia \
--database_user=root --database_password=secret \
--frontoffice_theme=flexy --with-demo --with-admin

php -S localhost:8000 -t public

Next steps

GuideDescription
DDEV InstallationDetailed DDEV setup, commands, and services
Standard InstallationManual PHP/MySQL setup for production
Install ReferenceAll bin/install options and env vars
ConfigurationEnvironment variables and Symfony config
First StepsCreate your first product