Skip to content

alexeiemam/oxen-free

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

52 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Ruby

Oxen-Free

This demo app pulls data from an API and displays that data as articles. It permits those articles to be "Liked". That is all it does.

It is built upon a demo application built elsewhere whose setup instructions are so comprehensive that I have left them verbatim below.

It does not mention that you will need to install Docker as a prerequisite... but you can go your own non-docker way if you prefer to live the renegade life close to the metal.

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

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

Viewing a page on the Rails app, once running

visit http://localhost:3000

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 .

Deploying to the heroku platform (once appropriate permissions have been granted)

heroku login
heroku git:remote -r PROD -a oliolioxenfree
git push PROD main  

Credits/References

Rails with Docker

Rails 7 with importmaps

Rails 7 with hotwire