The app is deployed with Capistrano using Figaro for ENV
configuration. In order to deploy it, these are the required steps:
-
Make sure you have Ruby installed with the correct version. Version is specified in the
.ruby-version
file in this repo. In order to test the Ruby version, useruby -v
. Using a version manager is recommended, please check RVM or RBenv for Ruby-specific managers, or asdf for a more general version manager. -
Ensure you have all dependencies installed. Run
bundle install
. If it gives you an error saying Bundler is missing, install it first withgem install bundler
and then runbundle install
. -
Ensure you have the required files to deploy the app. They are not included in this repo because they include sensitive data, so you'll need to ask around. Needed files are:
Capfile
config/deploy.rb
config/deploy/production.rb
-
Make sure the ruby version is the same that we have in the
config/deploy/production.rb
. -
Deploy the app with
bundle exec cap production deploy
After the deployment is finished it can take a few minutes to all services to restart. In case you still get a 503 you can check if puma is running, in case it's not, you can restart it:
bundle exec cap production puma:restart
You will need to do some steps before having the app working properly once you've deployed it:
- Open a Rails console in the server:
bundle exec rails console
- Create a System Admin user:
user = Decidim::System::Admin.new(email: <email>, password: <password>, password_confirmation: <password>)
user.save!
- Visit
<your app url>/system
and login with your system admin credentials - Create a new organization. Check the locales you want to use for that organization, and select a default locale.
- Set the correct default host for the organization, otherwise the app will not work properly. Note that you need to include any subdomain you might be using.
- Fill the rest of the form and submit it.
You're good to go!
Require missing factories in spec/factories.rb
Add require "rails_helper"
to your specs and execute them from the root directory, i.e.:
npm install
bundle install --jobs 4
RAILS_ENV=test bundle exec rails db:create db:migrate
bundle exec rspec --backtrace