Skip to content

Source Install

For developers who need customization or want to contribute.

Automated Installation

All steps are CLI commands — no web installer needed. Suitable for shell scripts, CI/CD pipelines, or AI agent-driven deployment. See the one-click script at the bottom of this page.

1. Clone the Repository

bash
cd /var/www
git clone https://github.com/innocommerce/innoshop.git
cd innoshop

Switch Versions

Use git checkout v0.1.0 to switch to a specific version.

2. Install PHP Dependencies

bash
composer install

3. Build Frontend Assets

bash
npm install && npm run build

4. Configure Web Server

Set your web root to the project's public/ directory and configure URL rewrite rules.

Installation Wizard

After completing the steps above, visit the site in your browser to start the installation wizard. Continue below if you prefer CLI installation.

5. Create Configuration File

bash
cp .env.example .env

6. Configure Database

Edit .env with your database connection details.

SQLite:

bash
touch ./database/database.sqlite
chmod 666 ./database/database.sqlite

Note: Do not set DB_HOST in .env when using SQLite.

MySQL: Update the DB_ prefixed variables in .env.

7. Generate Application Key

bash
php artisan key:generate

8. Initialize Database

bash
php artisan migrate && php artisan db:seed

Visit the site in your browser to start using InnoShop.

One-Click Install Script

Save the following as install.sh, update the database config, and run bash install.sh:

bash
#!/bin/bash
set -e

# ---- Configuration ----
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=innoshop
DB_USERNAME=root
DB_PASSWORD=secret
INSTALL_DIR=/var/www/innoshop
# -----------------------

cd $(dirname $INSTALL_DIR)
git clone https://github.com/innocommerce/innoshop.git $(basename $INSTALL_DIR)
cd $(basename $INSTALL_DIR)

composer install --no-interaction
npm install && npm run build

cp .env.example .env
php artisan key:generate

# Write database config
sed -i "s/DB_HOST=.*/DB_HOST=${DB_HOST}/" .env
sed -i "s/DB_PORT=.*/DB_PORT=${DB_PORT}/" .env
sed -i "s/DB_DATABASE=.*/DB_DATABASE=${DB_DATABASE}/" .env
sed -i "s/DB_USERNAME=.*/DB_USERNAME=${DB_USERNAME}/" .env
sed -i "s/DB_PASSWORD=.*/DB_PASSWORD=${DB_PASSWORD}/" .env

php artisan migrate --force
php artisan db:seed --force

echo "InnoShop installed successfully!"