/spree_starter

Dockerized @spree application starter template

Primary LanguageRubyBSD 3-Clause "New" or "Revised" LicenseBSD-3-Clause

Spree Starter

This a dockerized Spree Commerce application template ready to for local development and deployment to cloud providers.

Deploy in the cloud

Deploy

Deploy to Render

Local Installation

Using Docker (Recommended)

Install required tools and dependencies:

Run setup script

bin/start-docker

This will automatically launch the application at http://localhost:4000/admin

(Optional) Import sample data such as products, categories, etc

docker-compose run web rake spree_sample:load

Launching local server

docker-compose up

Using Hybrid installation

Install required tools and dependencies:

Run setup script

bin/start-hybrid

After loading all docker dependencies launch local server with:

bin/rails s

(Optional) Import sample data such as products, categories, etc

docker-compose run web rake spree_sample:load

Without Docker (not recommended for beginners)

Install required tools and dependencies

  1. HomeBrew - https://brew.sh/

  2. Install required packages: GPG, PostgreSQL, Redis, ImageMagick, and VIPS

    brew install gpg postgresql redis imagemagick vips
    createuser -P -d postgres
  3. RVM - https://rvm.io/

  4. NVM - https://github.com/nvm-sh/nvm

  5. Ruby - rvm install 3.0.3

  6. Node - nvm install

  7. Yarn - npm -g install yarn

Run setup script

bin/setup-no-docker

Adding Storefront

Spree is a headless e-commerce platform which you can use with any storefront you like. We have pre-built integrations with:

Updating

Connect to the docker container

docker-compose run web bash

Run update commands

bundle update
bin/rails spree:install:migrations
bin/rails db:migrate

For additional instructions please visit Spree Upgrade Guides

Development

Launching rails console

docker-compose run web rails c

Launching bash console

docker-compose run web bash

Customization

Adding new gems

Update Gemfile and run

bundle install
docker-compose build

You will need to restart the server if running:

docker-compose restart

Environment variables

variable description default value
DEBUG_ASSETS Enables/disables asset debugging in development false
DB_POOL database connection pool 5
MEMCACHED_POOL_SIZE memcache connection pool 5
SENDGRID_API_KEY API key to interface Sendgrid API

Troubleshooting

libvips error

If you are building the application using the latest code, you may encounter the following libvips error:

LoadError: Could not open library 'vips.so.42'

This error is usually an indication that you do not have libvips installed locally on your machine. Check that libvips is installed with vips -v, and if it is not installed, follow installation instructions here.

License

Spree Starter (formerly Spark Starter Kit) is copyright © 2015-2021 Spark Solutions Sp. z o.o.. It is free software, and may be redistributed under the terms specified in the LICENSE file.

About Spark Solutions

Spark Solutions

Spree Starter is maintained and funded by Spark Solutions Sp. z o.o. The names and logos are trademarks of Spark Solutions Sp. z o.o.

We are passionate about open source software. We are available for hire.