Ansible Rails

screenshot of Ansible Rails
rails

Ruby on Rails deployment using Ansible - with Lets Encrypt, Sidekiq, PostgreSQL, nginx & puma

Overview:

Ansible Rails is a playbook designed for deploying Ruby on Rails applications easily. It utilizes Vagrant for environment provisioning and Ansistrano for deploying apps to staging and production. The playbook can be customized by adjusting files in the roles directory to meet specific project requirements.

Features:

  • Server Configuration: Set up server with sensible defaults, install necessary packages, and auto-upgrade packages.
  • Security Enhancements: Create a new deployment user, harden SSH, prevent password login and root access, change default SSH port, set up UFW firewall, and Fail2ban.
  • Web Server Setup: Install and configure Nginx with sensible settings, SSL certificates with Certbot, and Puma and Sidekiq with Systemd support.
  • Database Support: Install and configure PostgreSQL, Redis, and setup databases for the application.
  • Deployment Automation: Ansistrano hooks for tasks like installing gems, precompiling assets, and database migration.

Summary:

Ansible Rails is a comprehensive playbook that streamlines the deployment process for Ruby on Rails applications. It provides server configuration, security enhancements, web server setup, database support, and deployment automation. By following the installation guide and customizing variables, developers can efficiently deploy and manage their Rails applications.

rails
Ruby on Rails

Ruby on Rails, often referred to as Rails, is an open-source web application framework written in Ruby. Known for its convention over configuration and don't repeat yourself (DRY) principles, Rails simplifies and accelerates the development of database-backed web applications.