Skip to content


Repository files navigation

Code Climate Test Coverage Build Status Inch docs

Web interface for MiGA

Ruby version

We test MiGA Web with Ruby 2.x (MRI). Some gems used in the rails backend are unavailable for Ruby < 2.0.

System dependencies

First, make sure you have bundle:

gem install bundle

Next, get miga-web and all its dependencies:

git clone
cd miga-web

Deployment instructions

1. Preparations

Once your MiGA Web is ready, you can start the server. First, prepare the system:

# Tell rails this is a production server
export RAILS_ENV=production

# create an empty folder to host your projects (it can be anywhere)
mkdir $HOME/miga-data

# Configure server secret credentials
bin/rails credentials:edit

# Generate the initial database
bundle exec rake db:migrate

# Precompile assets
bundle exec rake assets:precompile

2. Settings

Next, configure the server. Simply copy config/settings.yml to config/settings.local.yml and modify the necessary variables. If you modified the data location above (folder to host your projects), make sure to set the correct path for miga_projects.

3. Launch

Finally, launch the server. We have had a great experience with Puma, so that's what we use.

bundle exec rails server -e production -u Puma

Now you can visit your MiGA Web interface at localhost:3000. To use a world-accessible address, simply set mail_host to that address in config/settings.local.yml, and pass it to rails using -b and -p. For example, this is how we launch our own MiGA Web:

bundle exec rails server -e production -b -p 3000 -u Puma

Create admin users

Once you create your first user from the website, you may want to make it an admin. You can do so from the console:

bundle exec rails console -e production
irb> u = User.find(1) # Change the 1 for the actual ID of your user
irb> u.update(admin: true)

How to run the test suite

Execute bundle exec rake test.