bagisto Documentation

Open Source eCommerce Platform Built with Laravel for Enterprise-Scale Commerce Supporting 10M+ SKUs

RAW Doc

Docker & Self-Hosted Deployment Verified OCI

Deploy bagisto on any server, homelab, or cloud container platform.

1-Click Terminal Command
bash (docker run)
docker run -d --name bagisto -p 80:80 --restart always sail-8.4/app
Configured Services & Ports
βš™οΈ laravel.test
image: sail-8.4/app
πŸ”Œ Ports: ${APP_PORT:-80}:80, ${VITE_PORT:-5173}:${VITE_PORT:-5173}
βš™οΈ nginx
image: nginx:alpine
πŸ”Œ Ports: ${FORWARD_WEB_PORT:-8080}:80
βš™οΈ apache
image: httpd:2.4-alpine
πŸ”Œ Ports: ${FORWARD_WEB_PORT:-8080}:80
βš™οΈ litespeed
image: litespeedtech/openlitespeed:1.9.2-lsphp84
πŸ”Œ Ports: ${FORWARD_WEB_PORT:-8080}:80
βš™οΈ mysql
image: mysql:8.0
πŸ”Œ Ports: ${FORWARD_DB_PORT:-3306}:3306
βš™οΈ mariadb
image: mariadb:10.11
πŸ”Œ Ports: ${FORWARD_DB_PORT:-3306}:3306
βš™οΈ pgsql
image: postgres:16
πŸ”Œ Ports: ${FORWARD_DB_PORT:-5432}:5432
βš™οΈ redis
image: redis:alpine
πŸ”Œ Ports: ${FORWARD_REDIS_PORT:-6379}:6379
βš™οΈ elasticsearch
image: docker.elastic.co/elasticsearch/elasticsearch:8.19.21
πŸ”Œ Ports: 9200:9200, 9300:9300
βš™οΈ kibana
image: docker.elastic.co/kibana/kibana:8.19.21
πŸ”Œ Ports: 5601:5601
βš™οΈ mailpit
image: axllent/mailpit:latest
πŸ”Œ Ports: ${FORWARD_MAILPIT_PORT:-1025}:1025, ${FORWARD_MAILPIT_DASHBOARD_PORT:-8025}:8025
docker-compose.yml
yaml (docker-compose.yml)
services:
    laravel.test:
        build:
            context: ./vendor/laravel/sail/runtimes/8.4
            dockerfile: Dockerfile
            args:
                WWWGROUP: '${WWWGROUP}'
        image: sail-8.4/app
        extra_hosts:
            - 'host.docker.internal:host-gateway'
        ports:
            - '${APP_PORT:-80}:80'
            - '${VITE_PORT:-5173}:${VITE_PORT:-5173}'
        environment:
            WWWUSER: '${WWWUSER}'
            LARAVEL_SAIL: 1
            XDEBUG_MODE: '${SAIL_XDEBUG_MODE:-off}'
            XDEBUG_CONFIG: '${SAIL_XDEBUG_CONFIG:-client_host=host.docker.internal}'
            IGNITION_LOCAL_SITES_PATH: '${PWD}'
        volumes:
            - '.:/var/www/html'
        networks:
            - sail
        depends_on:
            - redis
            - elasticsearch
            - kibana
            - mailpit
    nginx:
        profiles: ['nginx']
        image: 'nginx:alpine'
        ports:
            - '${FORWARD_WEB_PORT:-8080}:80'
        volumes:
            - '.:/var/www/html:ro'
            - './docker/local/nginx:/etc/nginx/conf.d:ro'
        networks:
            - sail
        depends_on:
            - laravel.test
    apache:
        profiles: ['apache']
        image: 'httpd:2.4-alpine'
        ports:
            - '${FORWARD_WEB_PORT:-8080}:80'
        volumes:
            - '.:/var/www/html:ro'
            - './docker/local/apache/httpd.conf:/usr/local/apache2/conf/httpd.conf:ro'
        networks:
            - sail
        depends_on:
            - laravel.test
    litespeed:
        profiles: ['litespeed']
        image: 'litespeedtech/openlitespeed:1.9.2-lsphp84'
        ports:
            - '${FORWARD_WEB_PORT:-8080}:80'
        volumes:
            - '.:/var/www/html:ro'
            - './docker/local/litespeed/httpd_config.conf:/usr/local/lsws/conf/httpd_config.conf:ro'
            - './docker/local/litespeed/vhosts/bagisto.conf:/usr/local/lsws/conf/vhosts/bagisto.conf:ro'
        networks:
            - sail
        depends_on:
            - laravel.test
    mysql:
        profiles: ['mysql']
        image: 'mysql:8.0'
        ports:
            - '${FORWARD_DB_PORT:-3306}:3306'
        environment:
            MYSQL_ROOT_PASSWORD: '${DB_PASSWORD}'
            MYSQL_ROOT_HOST: '%'
            MYSQL_DATABASE: '${DB_DATABASE}'
            MYSQL_USER: '${DB_USERNAME}'
            MYSQL_PASSWORD: '${DB_PASSWORD}'
            MYSQL_ALLOW_EMPTY_PASSWORD: 1
            MYSQL_EXTRA_OPTIONS: '${MYSQL_EXTRA_OPTIONS:-}'
        volumes:
            - 'sail-mysql:/var/lib/mysql'
            - './vendor/laravel/sail/database/mysql/create-testing-database.sh:/docker-entrypoint-initdb.d/10-create-testing-database.sh'
        networks:
            - sail
        healthcheck:
            test:
                - CMD
                - mysqladmin
                - ping
                - '-p${DB_PASSWORD}'
            retries: 3
            timeout: 5s
    mariadb:
        profiles: ['mariadb']
        image: 'mariadb:10.11'
        ports:
            - '${FORWARD_DB_PORT:-3306}:3306'
        environment:
            MYSQL_ROOT_PASSWORD: '${DB_PASSWORD}'
            MYSQL_ROOT_HOST: '%'
            MYSQL_DATABASE: '${DB_DATABASE}'
            MYSQL_USER: '${DB_USERNAME}'
            MYSQL_PASSWORD: '${DB_PASSWORD}'
            MYSQL_ALLOW_EMPTY_PASSWORD: 1
        volumes:
            - 'sail-mariadb:/var/lib/mysql'
            - './vendor/laravel/sail/database/mariadb/create-testing-database.sh:/docker-entrypoint-initdb.d/10-create-testing-database.sh'
        networks:
            - sail
        healthcheck:
            test:
                - CMD
                - healthcheck.sh
                - '--connect'
                - '--innodb_initialized'
            retries: 3
            timeout: 5s
    pgsql:
        profiles: ['pgsql']
        image: 'postgres:16'
        ports:
            - '${FORWARD_DB_PORT:-5432}:5432'
        environment:
            PGPASSWORD: '${DB_PASSWORD}'
            POSTGRES_DB: '${DB_DATABASE}'
            POSTGRES_USER: '${DB_USERNAME}'
            POSTGRES_PASSWORD: '${DB_PASSWORD}'
        volumes:
            - 'sail-pgsql:/var/lib/postgresql/data'
            - './vendor/laravel/sail/database/pgsql/create-testing-database.sql:/docker-entrypoint-initdb.d/10-create-testing-database.sql'
        networks:
            - sail
        healthcheck:
            test:
                - CMD
                - pg_isready
                - '-q'
                - '-d'
                - '${DB_DATABASE}'
                - '-U'
                - '${DB_USERNAME}'
            retries: 3
            timeout: 5s
    redis:
        image: 'redis:alpine'
        ports:
            - '${FORWARD_REDIS_PORT:-6379}:6379'
        volumes:
            - 'sail-redis:/data'
        networks:
            - sail
        healthcheck:
            test:
                - CMD
                - redis-cli
                - ping
            retries: 3
            timeout: 5s
    elasticsearch:
        image: docker.elastic.co/elasticsearch/elasticsearch:8.19.21
        ports:
            - '9200:9200'
            - '9300:9300'
        environment:
            - xpack.security.enabled=false
            - discovery.type=single-node
            - bootstrap.memory_lock=true
            - "ES_JAVA_OPTS=-Xms256m -Xmx256m"
        ulimits:
            memlock:
                soft: -1
                hard: -1
            nofile:
                soft: 65536
                hard: 65536
        volumes:
            - 'sail-elasticsearch:/usr/share/elasticsearch/data'
        networks:
            - sail
    kibana:
        image: docker.elastic.co/kibana/kibana:8.19.21
        ports:
            - 5601:5601
        environment:
            ELASTICSEARCH_HOSTS: 'http://elasticsearch:9200'
        networks:
            - sail
        depends_on:
            - elasticsearch
    mailpit:
        image: 'axllent/mailpit:latest'
        ports:
            - '${FORWARD_MAILPIT_PORT:-1025}:1025'
            - '${FORWARD_MAILPIT_DASHBOARD_PORT:-8025}:8025'
        networks:
            - sail
networks:
    sail:
        driver: bridge
volumes:
    sail-mysql:
        driver: local
    sail-mariadb:
        driver: local
    sail-pgsql:
        driver: local
    sail-redis:
        driver: local
    sail-elasticsearch:
        driver: local

Introduction

Bagisto is an opensource laravel eCommerce framework built on some of the hottest technologies such as Laravel (a PHP framework) and Vue.js a progressive Javascript framework.

Bagisto can help you cut down your time, cost, and workforce for building online stores or migrating from physical stores to the ever-demanding online world. Your businessβ€”whether small or hugeβ€”can benefit. The best part, it's straightforward to set it up!

Getting Started

Install Bagisto with or without Composer (Check Requirement Details)

Follow the Getting Started with Bagisto Tutorial

You can browse through the Free Live Demo

☁️ Bagisto Cloud Hosting

Deploy and scale your Bagisto store effortlessly with Bagisto Cloud Hosting a fully managed, optimized hosting solution built specifically for Bagisto. Enjoy automatic scaling, built-in security, one-click updates, and expert support so you can focus on growing your business.

Deploy Bagisto on Cloud Hosting

☁️ Cloud Installation via Amazon AMI

You can also deploy Bagisto quickly using our pre-configured Amazon Machine Image (AMI) available on the AWS Marketplace:

πŸ‘‰ Launch Bagisto on AWS

This AMI allows you to get started with Bagisto on a cloud environment without manual setup. Ideal for scalable production or testing environments.

Accelerate Your Online Store Launch with the Bagisto Starter Pack!

Empower your e-commerce journey with the Bagisto Starter Pack, streamlining setup and integration for a seamless online store launch. Get ready to unlock success in the digital marketplace!

Open Source B2B eCommerce Platform

The B2B eCommerce Platform enhances your Bagisto store with advanced Business-to-Business (B2B) features. It enables company-based purchasing, multi-user access, quote negotiation, and procurement management β€” empowering businesses to handle B2B workflows efficiently within a single platform.

Multi Vendor Marketplace

Multi Vendor Marketplace transforms a standard store into a complete marketplace, allowing the admin to manage sellers, commissions, product approvals, and order handling, while giving vendors a dedicated dashboard to manage their catalog, orders, and transactions.

Multi Tenant eCommerce

Multi Tenant eCommerce in Bagisto allows businesses to build a SaaS-based marketplace platform where multiple vendors or merchants can create and manage their own individual stores under a single system.

POS

Point of Sale system manages retail operations efficiently, handling inventory management and fast customer checkout for your store.

Headless Commerce

The power of headless laravel commerce now comes to Bagisto enabling you to experience seamless and easily scalable storefront performance. Backed by some of the hottest tech stacks, Bagisto commerce can now be used to build powerful headless commerce solutions offering blazing-fast speed and easy customization powered by Next.js

Next.js Commerce

Develop and deploy your next headless commerce storefronts with Next JS and Bagisto: https://github.com/bagisto/nextjs-commerce

Open Source Mobile eCommerce

Revolutionize Your Online Store with Bagisto's Open Source eCommerce Mobile

Mobile eCommerce powered by Flutter & Laravel: https://github.com/bagisto/opensource-ecommerce-mobile-app

AI Powered eCommerce

You can integrate popular large language models like GPT-5, Gemini 3, Mistral, and LLaMA 4, Grok (xAI),GLM 4.6,Kimi-K2, Qwen 3, Deepseek etc to build AI-powered eCommerce applications with Bagisto. Some of the popular use cases where you can make use of LLMs to build AI apps are chatbot, automated product descriptions, customer support, search, and recommendations.

You can incorporate LLM API with your bagisto applications to send and receive queries and ensure proper error handling and rate limiting to prevent overuse of the API

Decentralised eCommerce

Build decentralised applications with Bagisto on popular blockchains like Ethereum and Solana by integrating smart contracts with the eCommerce platform. You can have decentralised marketplaces, NFT marketplaces, and decentralised e-signing with the laravel eCommerce system.

Commerce For Every Need

With Bagisto, you can easily create use cases for various commerce needs like Marketplaces, PWA, Native Mobile Apps, Multi-Tenants systems, Blockchain and many more.

Built In Extensions

Make use of 100+ Bagisto pre-built extensions from Bagisto Extension Markeptlace

Community

Get Bagisto support on Facebook Group and Forum
Would like to help us build the most developer-friendly E-Commerce platform? Start by reading our Contributing Guide!

License

Bagisto is a fully open-source Laravel eCommerce framework that will always remain free under the MIT License.

Security Vulnerabilities

If you think that you have found a security issue in Bagisto, please do not use the issue tracker and do not post it publicly. Instead, all security issues must be sent to mailto:[email protected].

Contributors

This project is on Open Collective, and it exists thanks to the people who contribute.

Backers

Thank you to all our backers! πŸ™

Sponsors

Support this project by becoming a sponsor. Your logo will show up here with a link to your website.