Baike.dev
All toolsOnline toolsAI codingTrendingOpen sourceNewsSubmit
Log in
< Back to tools
C

core

> 编程语言
Open source

Bountysource is the funding platform for open-source software.

644 stars0 likes0 views
WebsiteGitHub

About

Bountysource is the funding platform for open-source software.

Bountysource

If you want to make Bountysource.com better, you've come to the right place.

Bountysource needs your help!

Bountysource is run by volunteers, so development activity can be sporadic (to put it nicely).

"How can I help?"

...with money

  • Contribute to our Bountysource Salt campaign
  • Post bounties on Issues that matter to you

...with code

  • Start by reading our Wiki's How to Contribute

  • There are a number of high priority issues that would help the core team, such as:

  • Looking for some easier tasks to get started?

Developer Resources

  • Top Feature Requests
  • API Docs

Local Development Environment (Ubuntu)

Ruby

First install ruby. In order to maintain different versions of ruby and switch between them install rbenv instead of following the official ruby guide.

bash
sudo apt install curl
curl -sL https://deb.nodesource.com/setup_12.x | sudo -E bash -
curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | sudo apt-key add -
echo "deb https://dl.yarnpkg.com/debian/ stable main" | sudo tee /etc/apt/sources.list.d/yarn.list

sudo apt-get update
sudo apt-get install git-core zlib1g-dev build-essential libssl-dev libreadline-dev libyaml-dev libsqlite3-dev sqlite3 libxml2-dev libxslt1-dev libcurl4-openssl-dev software-properties-common libffi-dev nodejs yarn

A more in depth guide can be found on https://gorails.com/setup/ubuntu/16.04

Rails

Official guide: https://guides.rubyonrails.org/v5.0/getting_started.html

Troubleshoot

An error occurred while installing ovirt-engine-sdk (4.3.0), and Bundler cannot continue.

bash
sudo apt-get install build-essential libcurl4-openssl-dev
sudo apt-get install libxml2-dev

An error occurred while installing pg (0.18.4)

bash
sudo apt-get install libpq-dev

Starting the app

WIP

In one terminal run (runs the app on localhost:3000)

rails server

and in the other

docker-compose -f docker-compose.dev.yml up

seed scripts

# basic migration setup
rake db:setup

# seeds from ./db/seeds.rb
rake db:seed

You can check the db contents by using Adminer on localhost:8086 (Or PgAdmin)

System: PostgreSQL
Server: pgsql
Username: bountysource
Password: password

Generating a visual representation of the db

We're using railroady for this https://github.com/preston/railroady

Run the app and the db and run:

rake diagram:all

The svgs are located in the doc folder.

Caching

https://blog.appsignal.com/2018/04/17/rails-built-in-cache-stores.html#:~:text=To%20use%20Redis%20as%20a,it%20reaches%20its%20maximum%20size.

config/enviorments/production.rb

We should also check

tmp/cache - filesize on the server

Local Development Environment (OS X)

bash
# dependencies
brew install rbenv
brew install mysql
brew install postgresql

# checkout latest code
git clone [email protected]:bountysource/core.git bountysource-core
cd bountysource-core

# make sure you're running ruby 2.4.3 (if not, mess with rbenv)
ruby -v

# install Gemfile
gem install bundler
bundle install

# setup ENV
cp .env.dev .env
rake db:setup

# start server
./bin/rails s
open http://localhost:3000/

Hostnames for local development

We need different hostnames, so by default we use these:

  • http://localhost:3000/ - bountysource
  • http://127.0.0.1:3000/ - salt
  • http://0.0.0.0:3000/ - api

Alternatively, you can add entries to /etc/hosts and change the hostnames in your .env file:

127.0.0.1 www.bountysource.local api.bountysource.local salt.bountysource.local

Running tests

RAILS_ENV=test rake db:create
./bin/rake

Local Development Environment with Docker (deprecated)

For self-hosting, you will need Docker and Docker Compose.

The following was tested on Ubuntu 16.04 LTS. It'll likely work very similar on other Linux distros.

First tip, don't bother with the Docker or Docker Compose packages that your distro provides (too old, superseded).

Simply install from upstream. To install Docker, do

bash
curl -sSL https://get.docker.com | sh

To run Docker without superuser rights (sudo):

bash
sudo usermod -aG docker $USER

Then install Python virtualenv:

bash
sudo apt-get install python-virtualenv

Create a new virtualenv and install Docker Compose into that:

bash
virtualenv ~/docker-compose
source ~/docker-compose/bin/activate
pip install docker-compose

Here are the versions I get:

bash
(cpy361_6) oberstet@thinkpad-t430s:~/scm/oberstet/bountysource_core$ docker --version
Docker version 17.05.0-ce, build 89658be
(cpy361_6) oberstet@thinkpad-t430s:~/scm/oberstet/bountysource_core$ docker-compose --version
docker-compose version 1.13.0, build 1719ceb

Now pull and build all required Docker images:

bash
docker-compose -f docker-compose.yml build

Then start the Docker containers relevant for the service:

bash
docker-compose -f docker-compose.yml up -d

This should start 3 Docker containers (Bountysource, PostgreSQL and Sphinx):

…

Then open http://localhost:3000 in your browser.

You should see the Bountysource start page, something like this.

Running the unit tests

To run the unit tests:

bash
docker-compose -f docker-compose.yml -f tasks.yml up test

You should see something like this in the end:

bash
(cpy361_6) oberstet@thinkpad-t430s:~/scm/3rdparty/bountysource_core$ docker-compose -f docker-compose.yml -f tasks.yml up test
Starting pgsql ...
Starting pgsql ... done
Starting sphinx ...
Starting sphinx ... done
Starting bountysourcecore_test_1 ...
Starting bountysourcecore_test_1 ... done
Attaching to bountysourcecore_test_1
test_1          |

.. lots of output (snipped) ..

test_1          | Finished in 2 minutes 48.5 seconds (files took 7.23 seconds to load)
test_1          | 1239 examples, 0 failures, 13 pending
test_1          |
bountysourcecore_test_1 exited with code 0

Issues· 0 open

View all issuesOpen on GitHub

No open issues yet, or sync has not completed.

> Tags

Ruby

No comments yet. Be the first to share.

> Details

PublishedAug 1, 2026
UpdatedSep 17, 2026
Category编程语言
PricingOpen source

> Related tools

T
TypeScript
JavaScript 的超集,为前端与全栈提供静态类型
P
Python
通用编程语言,广泛用于 Web、数据与 AI
G
Go
Google 推出的简洁高效系统语言