Deploy PrestaShop, the fully-featured open-source e-commerce platform with product management, payment gateways, and 300+ built-in features.
Grab the automated bash script from GitHub to follow along with the video.
wget https://raw.githubusercontent.com/mhmdali94/Docker/main/ecommerce/prestashop/prestashop-ubuntu.sh
chmod +x prestashop-ubuntu.sh
sudo bash prestashop-ubuntu.sh
The script installs Docker, pulls the PrestaShop and MySQL images, and starts both containers. PrestaShop will be accessible on port 80 with MySQL as the database backend.
wget https://raw.githubusercontent.com/mhmdali94/Docker/main/ecommerce/prestashop/prestashop-ubuntu.sh
chmod +x prestashop-ubuntu.sh
sudo bash prestashop-ubuntu.sh
Open your browser and navigate to the PrestaShop installer. Follow the web-based setup wizard to choose your language, accept the license, configure the database connection, and create your store administrator account:
http://<your-server-ip>:80
Log in to the PrestaShop Back Office and navigate to Catalog → Products. Create product categories to organize your store, then add products with images, descriptions, prices, and inventory quantities. Use Attributes and Combinations to handle product variants like size and color.
Install payment modules from Modules Manager — search for Stripe or PayPal and follow the module configuration steps. Then configure Shipping Carriers under Shipping → Carriers, set zones, and define price ranges. Your store is ready to accept orders once both are configured.
| Port | Purpose |
|---|---|
| 80 | PrestaShop Web Store & Back Office Admin |
| 3306 | MySQL database (internal) |
PrestaShop is a free, open-source e-commerce platform used by hundreds of thousands of online stores worldwide. It provides everything needed for an online store including product catalog, inventory management, multi-currency payments, shipping, promotions, and a large marketplace of themes and modules.
PrestaShop gives SMBs and entrepreneurs a fully owned online store without Shopify monthly fees. You control your data, your server, your theme, and your integrations. The large module marketplace provides thousands of extensions for payment gateways, shipping providers, and marketing tools.
PrestaShop runs on port 80. Always serve it via HTTPS on port 443 using a reverse proxy. Expose only ports 80 and 443 publicly. The MySQL database port 3306 must never be exposed to the internet.
Alternatives include WooCommerce (WordPress-based, massive ecosystem), Magento (enterprise, complex), OpenCart (lightweight), and Shopify (SaaS, no server needed). Choose PrestaShop for a feature-rich self-hosted store with a large European module and theme marketplace.
Avoid PrestaShop if you are a non-technical user with no server administration experience — Shopify is far easier to manage. Also avoid for very high-traffic stores without proper server tuning; PrestaShop can be slow without caching and optimization.
PrismaTechWork provides end-to-end infrastructure services — from initial deployment and security hardening to ongoing monitoring, automated backups, and dedicated support. Whether you need a single-server setup or a multi-site network, our team ensures your infrastructure is built right, secured properly, and maintained reliably.
Yes — the PrestaShop software is free and open source. You pay for your own server hosting, any premium themes, and paid modules from the marketplace. Some advanced modules and themes cost between 30 and 300 euros. The core platform has no per-transaction fees or monthly subscription costs.
Install a payment module from the PrestaShop module marketplace. Popular options include Stripe, PayPal, Mollie, and local payment providers. Go to Modules and then Module Manager, search for your payment provider, install the module, and configure your API keys in the module settings.
Yes. PrestaShop has excellent multilingual support. Go to International then Translations and install additional language packs. Each product, category, and CMS page can be translated individually. The store detects the customer's browser language and serves the appropriate version automatically.
PrestaShop has built-in stock management. Set stock quantities per product and combination (variant). Enable low stock alerts to be notified when quantities drop. Advanced Stock Management allows warehouse-level tracking and stock movement history for more complex inventory operations.
Yes. When adding a product, set the type to Virtual Product and upload the downloadable file. After purchase, PrestaShop emails a download link to the customer automatically. You can set expiry dates and download limits per product.
Enable PrestaShop's built-in caching in Advanced Parameters then Performance. Use PHP OPcache, enable Smarty caching, and configure a CDN for media files. Install a Redis or Memcached module for object caching. Minimize installed modules — each adds overhead even when disabled.
Yes. PrestaShop has an official mobile app for store management that lets you view orders, manage products, and check store statistics from your phone. It connects to your store via the PrestaShop Webservice API, which must be enabled in Advanced Parameters.
Export your Shopify data (products, customers, orders) as CSV files. Use a PrestaShop migration module or the built-in CSV import tools to import products and categories. For customers and orders, use specialized migration modules available in the PrestaShop marketplace that handle data mapping automatically.