This skeleton should be used by experienced Pimcore developers for starting a new project from the ground up. If you are new to Pimcore, it's better to start with our demo package, listed below 😉
COMPOSER_MEMORY_LIMIT=-1 composer create-project pimcore/skeleton --no-scripts my-project
cd ./my-project
./vendor/bin/pimcore-install --install-profile='App\Installer\SkeletonProfile'- Point your virtual host to
my-project/public - [Only for Apache] Create
my-project/public/.htaccessaccording to https://pimcore.com/docs/platform/Pimcore/Installation_and_Upgrade/System_Setup_and_Hosting/Apache_Configuration/ - Open https://your-host/pimcore-studio in your browser
- Done! 😎
You can also use Docker to set up a new Pimcore Installation. You don't need to have a PHP environment with composer installed.
- Your user must be allowed to run docker commands (directly or via sudo).
- You must have docker compose installed.
- Your user must be allowed to change file permissions (directly or via sudo).
-
Initialize the skeleton project using the
pimcore/pimcoreimagedocker run -u `id -u`:`id -g` --rm -v `pwd`:/var/www/html pimcore/pimcore:php8.4-latest composer create-project pimcore/skeleton --no-scripts my-project -
Go to your new project
cd my-project/ -
Part of the new project is a docker compose file that already defines every required service (PHP, Nginx, MariaDB, Redis, RabbitMQ, OpenSearch, Mercure, and a Supervisord service that runs the messenger workers). You do not need to add any services yourself.
- Run
sed -i "s|user: '1000:1000'|user: '$(id -u):$(id -g)'|g" docker-compose.yamlto set the correct user id and group id. - Start the services with
docker compose up -d
- Run
-
Install pimcore and initialize the DB
docker compose exec php vendor/bin/pimcore-install --install-profile='App\Installer\SkeletonProfile'- The committed
.envalready provides the database, OpenSearch, RabbitMQ, Mercure, and admin values, so the installer does not re-prompt for them. It only asks for the product key (product registration is mandatory — see https://license.pimcore.com/register). - The default admin login is
admin/admin(from.env). Change the password after first login. - The installer also builds the search index automatically (a GenericDataIndex post-install command).
- This can take a while.
- The committed
-
Run codeception tests:
docker compose run --user=root --rm test-php chown -R $(id -u):$(id -g) var/ public/var/docker compose run --rm test-php vendor/bin/pimcore-install -ndocker compose run --rm test-php vendor/bin/codecept run -vv
-
✔️ DONE - You can now visit your pimcore instance:
- The frontend: http://localhost
- Pimcore Studio, using the credentials from
.env(defaultadmin/admin): http://localhost/pimcore-studio
By default, Pimcore Platform Version is added as a dependency which ensures installation of compatible and in combination with each other tested versions of additional Pimcore modules. More information about the Platform Version can be found in the Platform Version docs.
It might be necessary to update a specific Pimcore module to a version that is not included in the Platform Version.
In that case, you need to remove the platform-version dependency from your composer.json and update the module to
the desired version.
Be aware that this might lead to a theoretically compatible but untested combination of Pimcore modules.