Skip to content

Working Rails 7 demo application without JavaScript bundling, running in Docker. No node.js or webpack.

Notifications You must be signed in to change notification settings

mathias-eco/rails7-on-docker

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Ruby

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
  • Dependabot for automated updates

Requirements

Please ensure you are using Docker Compose V2. This project relies on the docker compose command, not the previous docker-compose standalone program.

https://docs.docker.com/compose/#compose-v2-and-the-new-docker-compose-command

Check your docker compose version with:

% docker compose version
Docker Compose version v2.10.2

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

Deploy to Render

NOTE: You will need to generate a production secret with bin/rails secret and set it as the SECRET_KEY_BASE environment variable.

Credits/References

Rails with Docker

Rails 7 with importmaps

Rails 7 with hotwire

Author

Ryan Williams

About

Working Rails 7 demo application without JavaScript bundling, running in Docker. No node.js or webpack.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Ruby 79.6%
  • HTML 12.5%
  • CSS 2.7%
  • Dockerfile 2.4%
  • JavaScript 2.0%
  • Shell 0.7%
  • Procfile 0.1%