Skip to content

Before You Start

Bagisto is a Laravel application, so working on Bagisto means working in Laravel. This page lists what helps to know before you begin, and what your machine needs to run Bagisto.

What to Know First

You can install Bagisto without deep Laravel experience, but extending it means writing Laravel code. These topics come up on almost every page.

PHP

Laravel

Bagisto 2.5 runs on Laravel 13; Bagisto 2.4 runs on Laravel 12. The concepts above are the same on both.

Front End

You need these only when you change how the admin or the storefront looks:

Where to Ask

System Requirements

SoftwareVersionNotes
PHP8.4composer.json requires ^8.4, and CI runs on 8.4. Bagisto 2.4 runs on PHP 8.3 or 8.4.
Composer2
DatabaseMySQL 8.0, MariaDB 10.11 or PostgreSQL 16CI tests all three. Bagisto 2.4 doesn't support PostgreSQL.
Web serverNginx, Apache or OpenLiteSpeedNot needed on your own machine, where php artisan serve is enough.
Node.js22Only to rebuild the admin, storefront or installer assets, to run the Playwright end-to-end tests, or to use php artisan dev. CI uses Node.js 22.13.1.

Check what your machine has:

bash
php -v
php -m
composer --version
node -v

PHP Extensions

Needed byExtensions
composer.jsoncalendar, curl, intl, mbstring, openssl, pdo, pdo_mysql, tokenizer
The web installer's requirements screen (packages/Webkul/Installer/src/Helpers/ServerRequirements.php)Also ctype, dom, fileinfo, filter, gd, hash, json, pcre, session, xml
Composer dependencies, which some PHP builds leave outbcmath, iconv, libxml, simplexml, xmlreader, xmlwriter, zip, zlib
PostgreSQLpdo_pgsql
IMAGE_DRIVER=imagick (the default driver in config/images.php is gd)imagick
REDIS_CLIENT=phpredis, the value in .env.exampleredis. Set REDIS_CLIENT=predis to use the predis/predis library instead, which Bagisto already requires.

composer install stops and names any extension that is missing.

PHP Settings

Bagisto doesn't check php.ini values. The production Docker image ships these, which are a sensible starting point for a store:

File: docker/production/shared/php.ini

ini
memory_limit = 512M
upload_max_filesize = 100M
post_max_size = 110M
max_execution_time = 300
max_input_time = 300

Optional Services

  • Elasticsearch 8 for catalog search on larger stores. Bagisto requires the elasticsearch/elasticsearch client ^8.10. See Configure Elasticsearch.
  • Redis for the cache, session, queue and full page cache stores. See Cache Strategy.
  • Amazon S3 or Cloudflare R2 for media files. See File Storage.

Next Step

Install Bagisto.

Released under the MIT License.