Deploy PrestaShop | Open-Source Shopify Alternative on Railway
Self host PrestaShop. Run your own online store worldwide.
MySQL
Just deployed
/var/lib/mysql
Prestashop
Just deployed
/var/www/html

Deploy and Host PrestaShop on Railway
PrestaShop is a universal open-source e-commerce platform built on PHP and Symfony, powering over 300,000 online stores globally. Deploy PrestaShop on Railway to self-host your own fully-featured online store with zero transaction fees, complete control over your data, and no vendor lock-in.
This Railway template pre-configures PrestaShop with a MySQL database, automatic installation, SSL enforcement, persistent storage for product images and modules, and a hardened admin panel accessible at a custom URL path. Run PrestaShop on Railway and start selling in minutes.
Getting Started with PrestaShop on Railway
After deployment completes, PrestaShop automatically runs the installation wizard — creating database tables, installing default modules, and configuring your store. Navigate to your public Railway URL to see the default storefront.
Access the admin panel at https://your-domain.up.railway.app/admin-railway/. Log in with the email and password configured during deployment. Your first actions should be: configure your store name and logo under Shop Parameters → General, add your first product under Catalog → Products, and set up a payment module under Payment → Payment Methods.
PrestaShop supports 75+ languages out of the box — configure additional languages in International → Localization.

About Hosting PrestaShop
PrestaShop is the leading open-source e-commerce solution in Europe and Latin America, generating over €22 billion in online sales in 2024. Built on Symfony 6.4 with a modular architecture, it provides everything needed to run a professional online store.
Key features:
- Catalog management — unlimited products, variants, combinations, and digital downloads
- Multi-language & multi-currency — 75+ languages, automatic tax calculation per country
- SEO-optimized — clean URLs, meta tags, sitemaps, structured data markup
- Module ecosystem — 5,000+ modules for payments, shipping, marketing, and CRM
- Theme marketplace — responsive themes with drag-and-drop customization
- B2B support — customer groups, tiered pricing, quantity discounts, quote requests
Why Deploy PrestaShop on Railway
- Zero transaction fees — keep 100% of your revenue
- Full data ownership with encrypted backups via Railway volumes
- One-click deploy with MySQL pre-configured
- Auto-scaling resources — pay only for what you use
- SSL included on every Railway domain
Common Use Cases for Self-Hosted PrestaShop
- Direct-to-consumer retail — fashion, electronics, food, and specialty goods with full storefront customization
- B2B wholesale platforms — tiered pricing, minimum order quantities, and customer-specific catalogs
- Multi-language international stores — localized pricing, tax rules, and shipping per region
- Dropshipping storefronts — integrated supplier modules with automated order forwarding
Dependencies for PrestaShop on Railway
- PrestaShop —
prestashop/prestashop:8-apache(PHP 8.x + Apache, auto-installer included) - MySQL — Railway-managed MySQL database (stores products, orders, customers, configuration)
Environment Variables Reference for PrestaShop
| Variable | Purpose | Example |
|---|---|---|
| PS_DOMAIN | Store's public domain | ${{RAILWAY_PUBLIC_DOMAIN}} |
| PS_ENABLE_SSL | Force HTTPS URLs | 1 |
| ADMIN_MAIL | Admin login email | [email protected] |
| ADMIN_PASSWD | Admin password (first boot only) | Generated secret |
| PS_FOLDER_ADMIN | Admin panel URL path | admin-railway |
| DB_SERVER | MySQL hostname | ${{MySQL.RAILWAY_PRIVATE_DOMAIN}} |
| PS_LANGUAGE | Default store language | en |
| PS_COUNTRY | Default store country | US |
Deployment Dependencies
- Runtime: PHP 8.1+ with Apache 2.4
- Database: MySQL 8.x (Railway-managed)
- Docker Hub: prestashop/prestashop
- GitHub: PrestaShop/PrestaShop (9.1k stars)
- Docs: docs.prestashop-project.org
Hardware Requirements for Self-Hosting PrestaShop
| Resource | Minimum | Recommended |
|---|---|---|
| CPU | 1 vCPU | 2 vCPU |
| RAM | 1 GB | 2–4 GB |
| Storage | 5 GB | 20 GB (product images) |
| PHP memory_limit | 256 MB | 512 MB |
Self-Hosting PrestaShop with Docker
Run PrestaShop locally with Docker Compose:
version: "3"
services:
prestashop:
image: prestashop/prestashop:8-apache
ports:
- "8080:80"
environment:
DB_SERVER: mysql
DB_USER: prestashop
DB_PASSWD: secret
DB_NAME: prestashop
PS_INSTALL_AUTO: "1"
PS_DOMAIN: localhost:8080
ADMIN_MAIL: [email protected]
ADMIN_PASSWD: admin123secure
volumes:
- ps_data:/var/www/html
depends_on:
- mysql
mysql:
image: mysql:8.4
environment:
MYSQL_ROOT_PASSWORD: root
MYSQL_DATABASE: prestashop
MYSQL_USER: prestashop
MYSQL_PASSWORD: secret
volumes:
- db_data:/var/lib/mysql
volumes:
ps_data:
db_data:
Start the stack:
docker compose up -d
Access PrestaShop at http://localhost:8080 after installation completes (1–2 minutes).
How Much Does PrestaShop Cost to Self-Host?
PrestaShop is 100% open-source under the OSL 3.0 license — no license fees, no transaction commissions. Your only costs are infrastructure (hosting, domain, SSL) and optional premium modules or themes from the PrestaShop marketplace.
On Railway, you pay only for compute and storage usage. A typical small-to-medium store runs comfortably on $5–15/month of Railway resources. Premium modules range from $30–$550 one-time depending on functionality.
PrestaShop vs WooCommerce vs Shopify
| Feature | PrestaShop | WooCommerce | Shopify |
|---|---|---|---|
| License | Open-source (OSL 3.0) | Open-source (GPL) | Proprietary SaaS |
| Transaction fees | None | None (except payment gateway) | 0.5–2% (unless Shopify Payments) |
| Hosting | Self-hosted | Self-hosted (WordPress) | Fully managed |
| Catalog size | Unlimited | Unlimited | Unlimited |
| Multi-language | Built-in (75+) | Plugin required | Limited (Shopify Plus) |
| Best for | SMEs wanting full control | WordPress users | Beginners wanting plug-and-play |
PrestaShop offers the best balance of power and accessibility for merchants who want full ownership without the complexity of Magento or the WordPress dependency of WooCommerce.
FAQ
What is PrestaShop and why should I self-host it? PrestaShop is an open-source e-commerce platform for building online stores. Self-hosting gives you complete data ownership, zero transaction fees, unlimited customization, and no dependency on a SaaS vendor's pricing changes or platform decisions.
What does this Railway template deploy for PrestaShop? This template deploys PrestaShop 8 (PHP/Apache) with a Railway-managed MySQL database. It automatically runs the installer on first boot, configures SSL, sets up persistent storage for your store files, and provides a hardened admin panel URL.
Why does the PrestaShop template include a MySQL database? PrestaShop requires MySQL (or MariaDB) to store all store data — products, customers, orders, configuration, CMS pages, and module settings. The database is the single source of truth for your entire store.
How do I install PrestaShop modules on Railway? Navigate to your admin panel → Modules → Module Manager. You can browse and install free modules directly, or upload premium module ZIP files purchased from the PrestaShop Marketplace. Modules persist across deployments via the Railway volume.
How do I configure payment gateways in self-hosted PrestaShop? Go to Payment → Payment Methods in the admin panel. PrestaShop supports Stripe, PayPal, Adyen, and 100+ payment providers via modules. Install the relevant module, enter your API keys, and activate it for your target countries.
Can I migrate my existing PrestaShop store to Railway?
Yes. Export your database via phpMyAdmin or mysqldump, import it into the Railway MySQL service, and upload your /var/www/html files to the Railway volume. Update PS_DOMAIN to your new Railway domain after migration.
How do I enable multi-language support in PrestaShop on Railway? In the admin panel, go to International → Localization → Languages. Add languages, import language packs, and configure default language per customer group. All 75+ supported languages work out of the box.
Template Content
MySQL
mysql:9.4Prestashop
prestashop/prestashop:8-apacheADMIN_MAIL
Admin login email
ADMIN_PASSWD
Admin password (first boot only)
