Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/ryanwi/rails-on-docker
Working Rails 6.1 demo application with PostgreSQL, Docker, jsbundling-rails (with Webpack), and GitHub Actions
https://github.com/ryanwi/rails-on-docker
docker github-actions rails rails6 webpacker
Last synced: 13 days ago
JSON representation
Working Rails 6.1 demo application with PostgreSQL, Docker, jsbundling-rails (with Webpack), and GitHub Actions
- Host: GitHub
- URL: https://github.com/ryanwi/rails-on-docker
- Owner: ryanwi
- Created: 2019-08-25T21:07:14.000Z (about 5 years ago)
- Default Branch: main
- Last Pushed: 2024-05-31T15:19:29.000Z (6 months ago)
- Last Synced: 2024-10-29T14:15:17.370Z (22 days ago)
- Topics: docker, github-actions, rails, rails6, webpacker
- Language: Ruby
- Homepage:
- Size: 2.03 MB
- Stars: 36
- Watchers: 3
- Forks: 13
- Open Issues: 11
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Rails 6 on Docker demo application
![Ruby](https://github.com/ryanwi/rails-on-docker/workflows/Ruby/badge.svg)
This app demonstrates Rails 6 with PostgreSQL and Webpack (with jsbundling-rails), all running in Docker.
**NOTE:** [There is also an example Rails 7 application working in Docker without Webpack or node.js](https://github.com/ryanwi/rails7-on-docker)
## 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 bundle exec rspec
```## Updating gems
```
docker compose run --rm web bundle update
docker compose up --build
```## Updating Yarn packages
```
docker compose run --rm web yarn upgrade
docker compose up --build
```## Webpacker retirement
Many Rails 6 apps will be or were created with the Webpacker gem. On January 19, 2022, [Webpacker announed its retirement](https://github.com/rails/webpacker#webpacker-has-been-retired-). As a result, it has been replaced in this repo with jsbundling-rails based on the recommendation in the announcement.
## Credits/References
* https://docs.docker.com/compose/rails/
* https://rubyinrails.com/2019/03/29/dockerify-rails-6-application-setup/
* https://pragprog.com/book/ridocker/docker-for-rails-developers
* https://evilmartians.com/chronicles/ruby-on-whales-docker-for-ruby-rails-development
* https://medium.com/@cristian_rivera/cache-rails-bundle-w-docker-compose-45512d952c2d
* https://github.com/rails/jsbundling-rails/blob/main/docs/switch_from_webpacker.md
* https://dev.to/thomasvanholder/how-to-migrate-from-webpacker-to-jsbundling-rails-esbuild-5f2