First-time installation

This article will help you install and run Solidus on your local machine for the first time. This guide is aimed specifically at developers running macOS.

If you run Linux or Windows, or you don't use Homebrew on your Mac, you can still follow this guide. However, you may want to consult other documentation while installing Ruby, SQLite 3, and other dependencies on your system.

Getting help

If you're following this guide and still having trouble installing Solidus, join the Solidus Slack team and start a conversation in the #support channel .

If you are still not able to get Solidus running, open an issue on GitHub with any information you think would help us reproduce the issues you're having. That would include your operating system and its version, the versions of Ruby, Rails, and SQLite 3 that you are running, and the specific error messages you are receiving during installation.

Before you start

Solidus is an ecommerce platform built with Ruby on Rails . To get the most out of Solidus, we recommend that you familiarize yourself with Ruby on Rails, as well as the Ruby programming language beforehand.

Because Solidus is a Rails engine, much of what the Rails Guide on Engines explains applies directly to Solidus, too.

Setup and installation

Using Homebrew, you can install all of the requirements using the following commands:

Bash
    
      brew install ruby sqlite3 imagemagick
gem install rails

    
  

You can find more details on Solidus' dependencies in the System Requirements page.

Create and configure new Rails project

First, we need a new Rails project:

Bash
    
      rails new your_solidus_project_name --skip-javascript

    
  

This command will create a new Rails application without installing the JavaScript compiler shipped with Rails by default ( webpacker ), which is not required for a sample Solidus store. You are still free to install and configure it in your Solidus store though.

Once the new project is created, you can run:

Bash
    
      cd /path/to/your-solidus-project-name
bundle add solidus

    
  

This command will add gem 'solidus' in the newly created application and install all the dependencies.

By adding solidus in your Gemfile, you are actually requiring all five of the core Solidus gems:

All five of these gems are maintained in the Solidus GitHub repository . They are documented at a separate documentation site .

For a first-time installation, we recommend requiring solidus as it provides a fully-functioning online store. However, you may wish to only use a subset of the gems and create a more custom store. For example:

Bash
    
      bundle add solidus_core solidus_api

    
  

Start generating Solidus configuration files

After the gems have been successfully installed, you need to create the necessary configuration files and instructions for the database using generators provided by Solidus and Railties.

Run the solidus:install generator:

Bash
    
      bin/rails generate solidus:install

    
  

This may take a few minutes to complete, and it requires some user confirmation.

Set the administrator username and password

The solidus:install generator prompts you to configure the default authentication solution, default payment service, and the Solidus administrator.

The default values of the administrator user are as follows:

The password must contain a minimum of 6 characters, or the account creation will fail without asking the user to try again.

Start the Rails server and use the sample store

Once the database migrations have been created, you should be able to successfully start the Rails server and see the sample store in your browser.

First, start the server:

Bash
    
      bin/rails server

    
  

Once the server has started, you can access your store from the following URLs:

You can browse the sample store's pages and mock products, and so on.

Feedback

Solidus is an open source platform supported by the community. We encourage everyone using Solidus to contribute back to the documentation and the code.

If you’re interested in contributing to the docs, get started with the contributing guidelines. If you see something that needs fixing and can’t do it yourself, please send us an email.