Installation Guide
This guide will walk you through installing EverShop on your system. Choose the installation method that best fits your needs.Docker
Fastest way to get started
npm/npx
Quick setup with npm
Manual
Full control over installation
Prerequisites
Before installing EverShop, ensure you have:Node.js 18+
Download from nodejs.org
PostgreSQL 13+
Database server for data storage
Docker Installation
The fastest way to get started with EverShop is using Docker. This method handles all dependencies automatically.Download Docker Compose File
Download the official This will create a
docker-compose.yml file:docker-compose.yml file in your current directory.Review Configuration
The Docker Compose file includes two services:
The database credentials are set to default values. For production, change the
POSTGRES_PASSWORD to a secure password.Start Services
Launch EverShop and PostgreSQL containers:This command will:
- Pull the latest EverShop image
- Pull PostgreSQL 16 image
- Create and start both containers
- Set up the network and volumes
Access Your Store
Once the containers are running, access your store:
Storefront
Visit http://localhost:3000
Admin Panel
The first startup may take a few minutes while the database is initialized.
Docker Management Commands
npm Installation
Install EverShop using npm for a traditional Node.js setup.Install PostgreSQL
First, ensure PostgreSQL 13+ is installed and running on your system.
- macOS
- Ubuntu/Debian
- Windows
Run Setup
Run the interactive setup wizard:The setup wizard will prompt you for:
- Database Host (default: localhost)
- Database Port (default: 5432)
- Database Name (default: evershop)
- Database User (default: postgres)
- Database Password
- Admin Full Name
- Admin Email
- Admin Password (minimum 8 characters, must contain letters and numbers)
The setup command creates a
.env file with your database configuration and initializes the database schema.Build Assets
Build the frontend and backend assets:This process:
- Compiles TypeScript to JavaScript
- Bundles React components with Webpack
- Processes and minifies CSS with Tailwind
- Optimizes assets for production
Start Server
Launch the production server:Your store will be available at:
- Storefront: http://localhost:3000
- Admin: http://localhost:3000/admin
Development Mode
For development, use the dev server with hot reloading:Development mode includes hot module replacement (HMR) for faster development. Changes to React components and styles are reflected instantly without page refresh.
Environment Variables
After runningnpm run setup, a .env file is created with your configuration:
.env
Manual Installation
For full control over the installation process, clone the repository and build from source.Install Dependencies
Install all required packages:This installs dependencies for:
- Main EverShop package
- All workspace packages
- Development tools
Setup Database
Ensure PostgreSQL is running, then run the setup:Follow the interactive prompts to configure your database and create an admin user.
Compile TypeScript
If you’re developing or modifying core code, compile TypeScript:This compiles TypeScript source files from
packages/evershop/src/ to packages/evershop/dist/.Development Commands
Troubleshooting
Database Connection Issues
Connection refused to PostgreSQL
Connection refused to PostgreSQL
Ensure PostgreSQL is running:
SSL/TLS connection errors
SSL/TLS connection errors
The installer automatically detects SSL support. If you encounter SSL errors:
- Check your
.envfile forDB_SSLMODEsetting - Try setting
DB_SSLMODE="disable"for local development - For production, ensure your PostgreSQL server has valid SSL certificates
PostgreSQL version too old
PostgreSQL version too old
EverShop requires PostgreSQL 13+. Check your version:Upgrade if necessary:
Build Issues
Out of memory during build
Out of memory during build
Increase Node.js memory limit:
Module not found errors
Module not found errors
Clear node_modules and reinstall:
Port Already in Use
If port 3000 is already in use, modify the port in your configuration:Next Steps
Quick Start
Learn basic operations and workflows
Configuration
Configure your store settings
Extensions
Add functionality with extensions