A production-ready Rails 7 demo application with Docker, featuring ActionCable, OpenSearch, Sidekiq, and a multi-container architecture.
Docker-Rails is a demonstration Rails 7 application designed to illustrate production deployment using Docker. It serves as a simple content management system (CMS) for managing posts and includes features like real-time updates, full-text search, and background job processing. The project focuses on building optimized, lean Docker images for efficient deployment.
Rails developers and DevOps engineers looking to understand or implement Docker-based production deployments for Rails applications with modern features like ActionCable and Sidekiq.
It provides a comprehensive, real-world example of containerizing a Rails app with a multi-service architecture, emphasizing image size optimization and production readiness, which is valuable for learning and reference.
Dockerize Rails 7 with ActionCable, Webpacker, Stimulus, Elasticsearch, Sidekiq
Produces a Docker image of only ~80MB using Alpine Ruby and multi-stage builds, as detailed in the Dockerfile and the author's linked blog post on optimizations.
Demonstrates real-world Rails features like ActionCable for real-time updates, OpenSearch with Searchkick for full-text search, and Sidekiq for background processing in a single cohesive application.
Showcases a multi-container setup with services like PostgreSQL, Redis, and OpenSearch, including docker-compose.production.yml and deployment guides for tools like traefik.
Uses Rails 7 alongside contemporary tools such as Stimulus for JavaScript, Sidekiq-Cron for scheduling, and Blazer for admin dashboards, keeping it relevant for current development practices.
It's a complete demonstration application rather than a generator, so adapting it for new projects requires cloning and extensive manual code modifications instead of quick setup.
Running the full stack with multiple Docker containers (e.g., PostgreSQL, Redis, OpenSearch) can be heavy on system resources and slow for iterative development compared to lighter setups.
Relies on specific gems like Clearance for authentication and Shrine for uploads, which the README admits are not necessarily 'best practice' and may not suit teams preferring alternatives like Devise or Active Storage.
A Rails application template with our standard defaults, optimized for deployment on Heroku.
Easily jumpstart a new Rails application with a bunch of great features by default
My former app template for Rails 7. All recommendations you see here have been moved to https://github.com/mattbrictson/nextgen
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.