13be7addaffa6fd763549d3ccffbeacb6d845648
Start here: https://github.com/ryanwi/rails7-on-docker/generate
Rails 7 on Docker demo application
This app demonstrates Rails 7 with PostgreSQL, import maps, turbo, stimulus and hotwire, all running in Docker.
NOTE: There is also an example Rails 6 application working in Docker with Webpacker
Features
- Rails 7
- Ruby 3
- Dockerfile and Docker Compose configuration
- PostgreSQL database
- Redis
- GitHub Actions for
- tests
- Rubocop for linting
- Security checks with Brakeman and bundler-audit
- Dependabot for automated updates
Initial setup
cp .env.example .env
docker compose build
docker compose run --rm web bin/rails db:setup
Running the Rails app
docker compose up
Running the Rails console
When the app is already running with docker-compose up, attach to the container:
docker compose exec web bin/rails c
When no container running yet, start up a new one:
docker compose run --rm web bin/rails c
Running tests
docker compose run --rm web bin/rspec
Updating gems
docker compose run --rm web bundle update
docker compose up --build
Production build
docker build -f production.Dockerfile .
Deployment
This app can be hosted wherever Ruby is supported and PostgreSQL databases can be provisioned.
Render
Set SECRET_KEY_BASE environment variable
Credits/References
Rails with Docker
- Quickstart: Compose and Rails
- Docker for Rails Developers Build, Ship, and Run Your Applications Everywhere
- Ruby on Whales: Dockerizing Ruby and Rails development
Rails 7 with importmaps
Rails 7 with hotwire
Description
Languages
Ruby
60.4%
HTML
29.9%
JavaScript
3.2%
TSQL
3.1%
Dockerfile
2.2%
Other
1.2%