Dockerized Rails

screenshot of Dockerized Rails

An opinionated Dockerized Rails application template.

Overview

The Dockerized Rails Template is a Rails application template that provides an opinionated Docker setup. It is designed to optimize the use of Docker Compose and includes various services such as App, Postgres, Redis, and Selenium. Additionally, it utilizes Sidekiq worker through Foreman to prevent conflicts with gems that might be added later. The template also includes useful binstubs for working with Docker Compose and default gems for improved development.

Features

  • Docker Compose-optimized project: The template is optimized for use with Docker Compose, allowing for easy management and deployment of the Rails application and its services.
  • Multiple Services: The template includes services for the App, Postgres, Redis, and Selenium, providing a comprehensive setup for the Rails application.
  • Sidekiq Worker with Foreman: The use of Sidekiq worker through Foreman helps prevent conflicts with additional gems that may be added to the project later on.
  • Useful Binstubs: The template includes handy binstubs such as "bin/compose" for easily running Docker Compose and "bin/run" for executing commands within the app service.
  • Default Gems: Additional default gems are included in the template, including annotate for model annotations, chusaku for controller annotations, mocktail for easier mocking in tests, sidekiq for background processing, simplecov for test suite code coverage, and standard for style guide, linter, and fixer.
  • GitHub Action Workflow: The template also provides a GitHub Action workflow that performs linting, annotations, and runs the test suite for improved development workflow.

Summary

The Dockerized Rails Template is a comprehensive solution for running a Rails application using Docker Compose. It provides an opinionated setup that includes multiple services, such as App, Postgres, Redis, and Selenium. The use of Sidekiq worker through Foreman helps prevent conflicts with additional gems, and the binstubs simplify working with Docker Compose. The template also includes default gems for improved development, a GitHub Action workflow for automated tasks, and a straightforward installation process. Overall, the Dockerized Rails Template offers a convenient and efficient way to develop and deploy Rails applications using Docker.