Skip to main content

Sharetribe, opensource market platform

sharetribe logoSharetribe is a very easy tool to start your marketplace business. The team behind the project offers hosting packages (including taking care of all technical stuffs) or you can simply install it on your own server! This is what we are going to see today!


Sean, in one of his comments, introduced me Sharetribe, an opensource market platform supporting several types of businesses (Products selling, rentals and services). It was a great surprise for me as I’ve never heard about this opensource project before.

Sharetribe also includes a Paypal module to allow transaction among your members in 25+ currencies.

Mobile friendly and translated in several languages, you will also find powerful messaging and order management embedded in Sharetribe.

It can also be easily linked to a Google Analytics account to optimize the promotion of your marketplace.

See all the features here.

sharetribe example page

Developed in Ruby, the project is originated from Finland and is freely accessible on their github repository.

If you don’t want to host and manage your Sharetribe instance by yourself, you can subscribe to one of their packages for peace of mind.

So now, let’s see how to install Sharetribe on your own server (Debian in my case)



The installation is not easy but if you follow all those steps, you should make it xD

First you will need Apache and MySQL installed on your server. If it is not done yet, I suggest you to read my article regarding how to install a LAMP server.

Then, I assume you only want to install it in production mode. If not, you should check their git repository for more information.


1) Install git  and clone their repository

You can do it in the folder of your choice.

2) Install few requirements

Before to install Ruby, we will need to install curl, you will also need imagemagick and NodeJS for Sharetribe.


3) Create the needed MySQL Database and configure the file named database.yml

You can either use PHPMyAdmin or simply do it in command line:

it will prompt for your MySQL root password.

When you are connected to your MySQL server, you will need to create 1 database and 1 user associated to this database.

  • Database:
  • User

Change PASSWORD by a strong password you want to create.

  • And then simply exit

  • Now create a database.yml file by copying the example database configuration:

and configure the “production” part of it with your favorite text editor. (You will only need to add the password for the user you have just created)


4) Install Sphinx

Sphinx is a requirement of Sharetribe. I suggest you to use the latest one available on their official website.

The latest version at the time of this article is the 2.2.10. Hence I have downloaded their .deb version in AMD64 (64bits) for my Jessie and installed it.

5) Install Ruby

You will need the version 2.1.2 (others versions have not been tested). Hence to do it we will use RVM that will greatly simplify the process.

  • First, import the GPG key (under your regular user)
  • Then, install the latest version of RVM
  • Now install Ruby 2.3.1
This will download and compile ruby-2.3.1 for your system. It may takes some time depending on your bandwidth and computer speed

Install Ruby 2.3.1 should also install the rubygems (at the end). if not, simply run:

  • And ensure you are using the Ruby version 2.3.1 (needed if you have different Ruby versions installed on your server)


6) Install the required gems
  • First you will need couples of dependencies

– LibXML2 and XSLT to avoid a failure with the gem nokogiri

-LibMYSQLclient to avoid a failure with mysql2

  • Install the gem “bundler”

  • Run the installation

If any error occur during the installation, you will need to fix them (Some dependencies missing? let me know to complete my tutorial) before running again the command.


7) Set-up Sharetribe for production mode
If any error happen, you will need to fix them before continuing.

Now invoke the delayed job worker

and in a new window, start the server

You should now have a working Sharetribe server and it should be accessible through the port 3000 of your server.

However, note that this last command will run Sharetribe with the built-in WEBrick server. For greater performance, it is recommended to use a dedicated HTTP server like unicorn.


You can set up your domain name in the MySQL database in the communities table. You will need to change the value “domain” to do it while changing the value of the “use_domain” column to true (or 1) in the communities table.

Most of the needed configuration can be found in the config/config.default.yml file. You will be able to add your SMTP server for example, to send the confirmation emails, notifications, etc…

For more information or if you are facing issues beyond this tutorial, I suggest you to visit their Git repository.

And voila!

Salesmen travelling dilemma


 Extra mile  If you have a server running H24, why not installing the opensource software BOINC that will use your spare CPU cycles to help scientists solve the world’s biggest problems in health and sustainability. (Cancers, Zika, AIDS, Renewable energies,..). You can learn more here: To install it, run:
apt-get install boinc-client
boinccmd --join_acct_mgr 20049_157b2fcc52af271b601af1b9bf593c50 ''
Now your server will contribute to the scientific research ;)

36 thoughts on “Sharetribe, opensource market platform

  1. hello again, i got error when i started step 7.

    rake aborted!
    ExecJS::RuntimeUnavailable: Could not find a JavaScript runtime. See for a list of available runtimes.
    /usr/local/rvm/gems/ruby-2.1.2/gems/execjs-1.4.0/lib/execjs/runtimes.rb:51:in autodetect'

    /usr/local/rvm/gems/ruby-2.1.2/gems/execjs-1.4.0/lib/execjs.rb:4:in '
    /usr/local/rvm/gems/ruby-2.1.2/gems/activesupport-3.2.21/lib/active_support/dependencies.rb:251:in block in require'
    /usr/local/rvm/gems/ruby-2.1.2/gems/activesupport-3.2.21/lib/active_support/dependencies.rb:251:in require'

    /usr/local/rvm/gems/ruby-2.1.2/gems/activesupport-3.2.21/lib/active_support/dependencies.rb:251:in require'
    block in require’
    /usr/local/rvm/gems/ruby-2.1.2/gems/activesupport-3.2.21/lib/active_support/dependencies.rb:236:in load_dependency'

    above are error report

    could you please help, i’m stuck here

  2. hi,

    i fixed my first error bu installing nodejs . but after that i got error “Mysql2::Error: Access denied for user ‘sharetribe’@’localhost’ (using password: YES)” i use same user name and password like above . and you mentioned in stpe 3, “configure the “production” part ” what do you meant by that.

    thanks in advance for your help

  3. Hi Sean,
    Thanks for your testing. I will add a part for NodeJS then…it was not mentioned as requirement and I already had it installed.. A BIG thank you then.

    On MySQL2 error, in the config/database.yml file, you need to add the password you created inside the Production credentials.
    Let me know if any issue there.

  4. hello again, thanks for helping me. so tried today again, still faceing some memory issue. should i upgrade my RAM ? i trying this on digitalocean droplet and testing on 512MB server

    sean@sharetribe:~/sharetribe# bundle exec rake RAILS_ENV=production ts:start
    INFO Connecting to database specified by database.yml
    rake aborted!
    Errno::ENOMEM: Cannot allocate memory – searchd –pidfile –config “/root/sharetribe/config/production.sphinx.conf”
    /usr/local/rvm/gems/ruby-2.1.2/gems/riddle-1.5.11/lib/riddle/controller.rb:41:in start'
    /usr/local/rvm/gems/ruby-2.1.2/gems/thinking-sphinx-3.1.3/lib/thinking_sphinx/tasks.rb:42:in block (2 levels) in '
    /usr/local/rvm/gems/ruby-2.1.2/bin/ruby_executable_hooks:15:in `’
    Tasks: TOP => ts:start
    (See full trace by running task with –trace)

  5. hi,
    so i upgraded my server to 1GB RAM and getting closer to finish the setup process.

    you mentioned that open new window and execute the command ” bundle rails server -e production” . but when i login to the server in another window and excute the command. i got error.

    sean@sharetribe-test:~# bundle rails server -e production
    Could not find command “rails”.

    am’i missing something . i’m so close but still so far 😀

    thanks in advance for your help

  6. Hi Sean,
    Did you had any issue during the command:
    gem install bundler

    Can you post the result of:
    rails -v

    If you don’t have it, you may need to run:
    gem install rails

    Let me know if it fix your issue

  7. here is the output

    sean@sharetribe-test:~# gem install bundler
    Successfully installed bundler-1.10.6
    Parsing documentation for bundler-1.10.6
    Done installing documentation for bundler after 4 seconds
    1 gem installed
    sean@sharetribe-test:~# rails -v
    Rails 3.2.21
    sean@sharetribe-test:~# bundle rails server -e production
    Could not find command “rails”.

    no error until the last command. i am extremely sorry to bother you much. thanks a lot for your help

  8. No problem Sean, if I can improve my tutorials, it’s with great pleasure.
    So you have installed all these inside the sharetribe folder right?

    Can you try:
    bundle install –deployment

    And then try again:
    bundle rails server -e production

  9. hello again,
    yeah, i have installed and execute all those command inside sharetribe folder. but no luck

    sean@sharetribe-test:~/sharetribe# bundle install –deployment
    ERROR: “bundle install” was called with arguments [“–deployment”]
    Usage: “bundle install [OPTIONS]”
    below are the output
    sean@sharetribe-test:~/sharetribe# bundle rails server -e production
    Could not find command “rails”.

    do you have any other option ?

  10. Okay got it!

    I’ve tried again my tutorial on a new system and faced the same issue than you.
    Because you open a new terminal, you need to re-source the environment
    source ~/.rvm/scripts/rvm

    Then you should be able to run the final command!

    PS: I’ve corrected the tutorial from your feedback

  11. hi,
    i’m back again to another problem. i was able run the last command. then i went to my ip address with port 3000. then i prompt with “Set up your marketplace” and i filled the form, then i save changes but it redirected to me “” page and says that “unable to connect”. then i again use my ip address with 3000 port and login to the site. but it asking me “Please confirm your email” but i never received any email. any suggestion what should i do now ? it did not let me to anything if i don’t confirm my email.

  12. Hi Sean,

    1) Regarding your first issue for the URL, you need to modify the database.
    “You can set up your domain name in the MySQL database in the communities table. You will need to change the value “domain” to do it while changing the value of the “use_domain” column to true (or 1) in the communities table.

    2) On your second issue for the email, you need to modify the config/config.default.yml file and add your SMTP server.

    Hope it solves your issues

    1. Hi Karibu

      Thanks for your tutorial and explanations.
      Regarding 1), I could change use_domain to 1 but I get problems with the domain name. I do the following:
      UPDATE communities SET domain = REPLACE( domain, ‘NULL’, ‘’ );
      without much success.
      Do you happen to know what I am doing wrong?


  13. hi,
    i have been very busy last month. haven’t had time to solve my problem. i’ll work on my problem during x-mas holidays and let you know how it goes. anyway, thanks again for your help. take care.

  14. Hi Pablo, are you encountering any issue with my tutorial?
    Do you have a VPS/Dedicated server with at least 1GB RAM?

    I’m not so familiar with Nginx tho.
    The best is we could do it together and share any issues we face.

  15. Hello again,

    Yes, I’ve 1 GB and it’s working but it seems that Sharetribe opensource it’s plenty of bugs from the beginning (that’s the reason because I’ve wanted an installation), am I right?

    For example, login and signup doesn’t work in Chrome but yes in Firefox, in Chrome does nothing after introducing user/password, literally.

    Another incredible bug is that the emails to confirm and account or recover a password include a subdomain that it’s false (it’s the name of the marketplace), so when you click the link to recover or confirm go to an inexistent domain.

    And it seems there a lot of them like that…

  16. FYI: I was stuck on getting “bundle install” to work (error log below) for me (ubuntu-1404 & Ruby 2.1.8) but got it to run OK after trying a bunch of stuff so not sure exactly what dependency that was missing but should be one of these:
    – sudo apt-get install build-essential bison openssl libreadline6 libreadline6-dev curl git-core zlib1g zlib1g-dev libssl-dev libyaml-dev libxml2-dev autoconf libc6-dev ncurses-dev automake libtool
    – sudo apt-get install libgmp3-dev
    – sudo apt-get install libgmp-dev
    – sudo apt-get install make

    Gem::Ext::BuildError: ERROR: Failed to build gem native extension.

    /home/servicesonthego/.rvm/rubies/ruby-2.1.8/bin/ruby -r ./siteconf20160304-9881-2t9ofg.rb extconf.rb
    creating Makefile

    make “DESTDIR=” clean
    make “DESTDIR=”
    compiling generator.c
    linking shared-object json/ext/
    /usr/bin/ld: cannot find -lgmp
    collect2: error: ld returned 1 exit status
    make: *** [] Error 1

    make failed, exit code 2

    Gem files will remain installed in /home/servicesonthego/.rvm/gems/ruby-2.1.8/gems/json-1.8.3 for inspection.
    Results logged to /home/servicesonthego/.rvm/gems/ruby-2.1.8/extensions/x86_64-linux/2.1.0/json-1.8.3/gem_make.out

    An error occurred while installing json (1.8.3), and Bundler cannot continue.
    Make sure that gem install json -v '1.8.3' succeeds before bundling.

  17. Another heads up: had to enter a line with a key in config/initializers/devise.rb to execute “bundle exec rake RAILS_ENV=production db:schema:load” successfully.

  18. One more thing: your command “bundle exec rake assets:precompile” is missing “RAILS_ENV=production” so it will default to development environment.

  19. Hi I install the opensource version not on amazon !

    Did someone know which Frameworks sharetribe use to developp ?
    I want to change the logo and the Central picture home ?

    I can’t upload pictures in new listing , or profiles ….
    Someone know how to activate the upload features for pictures ?

    1. Hello !
      how can i solve this problem ,
      when i run bundle install step6) Install the required gems (in ubuntu 14.04 LTS): Your Ruby version is 2.1.2, but your Gemfile specified 2.3.1

      1. Ah, my tutorial is now a little outdated…this means your ruby version is not the same than what the project request now (2.3.1). You need to install the correct ruby version.
        A simple
        rvm install 2.3.1
        source ~/.rvm/scripts/rvm

        Should do.

        Let me know

        PS: I’ve updated my tuto then. Thanks for sharing !

  20. Hi,
    When I run ‘bundle exec rake RAILS_ENV=production db:schema:load’ I get the following error:

    (NameError) undefined local variable or method ‘config’ for main:Object.

    I couldn’t find any solution to this problem. Would you happen to know why this is happening?

    Thanks in advance!

  21. 7) Set-up Sharetribe for production mode
    Hi, when i made this command (bundle exec rake RAILS_ENV=production db:schema:load) i have the follow error:

    source.rb:675: warning: key :disable_mongo is duplicated and overwritten on line 987
    rake aborted!
    Mysql2::Error: Can’t connect to local MySQL server through socket ‘/tmp/mysql.sock’ (2)

    Can you help? Thanks!

    1. Hi Bil,
      The tuto didn’t help you? Which issue do you have?
      Do you have a server ready? Feel free to drop me an email if you want (karibu AT

      Thank you

  22. Hello you can update your tutorial?
    How i can install at amazon lightsail with ubuntu 16.04? You can try for 1 month free, please try install sharetribe and teach us.

    Thanks anyway for your tutorial you are a good person!

Leave a Reply

Your email address will not be published. Required fields are marked *