Sign inSign up

cblunt/rails-basic-app

By cblunt

Updated over 7 years ago

A base Rails 5.2 application for tutorials at chrisblunt.com and plymouthsoftware.com

Image
0

1.4K

cblunt/rails-basic-app repository overview

This is a demo base Rails 5.2 application used for tutorials at https://www.chrisblunt.com/ and https://plymouthsoftware.com/.

It contains:

  • A basic Rails scaffold for blog Post and User models.
  • ActiveStorage to demo uploads (avatar on User model)
  • Sidekiq as an adapter for processing a simple ActiveJob job to publish all posts (PublishAllJob)
$ docker run -e RAILS_ENV=development -e DATABASE_URL=postgres://postgres:password@db:5432/my_app_development --link db:db --rm -it --publish 3000:3000 cblunt/rails-basic-app

Usage

  • You'll need a running database container, and an optional redis container (for ActiveJob):
$ docker run -d -it --name db -e POSTGRES_DB=my_app_development -e POSTGRES_PASSWORD=password postgres
$ docker run -d -it --name redis redis
  • Run migrations
$ docker run -e RAILS_ENV=development -e DATABASE_URL=postgres://postgres:password@db:5432/my_app_development --link db --rm -it cblunt/rails-basic-app bin/rails db:migrate
  • Finally, run the app
$ docker run -e RAILS_ENV=development -e REDIS_URL=redis://redis:6379 -e DATABASE_URL=postgres://postgres:password@db:5432/my_app_development --link db --link redis --rm -it --publish 3000:3000 cblunt/rails-basic-app
  • To process background jobs, run another container with the sidekiq command:
$ docker run -d --name sidekiq -e RAILS_ENV=development -e DATABASE_URL=postgres://postgres:password@db:5432/my_app_development -e REDIS_URL=redis://redis:6379 --link db --link redis --rm -it cblunt/rails-basic-app bundle exec sidekiq

Tutorials using this image:

Docker Compose

This docker-compose.yml can be used to configure the containers:

version: '3'

services:
  db:
    image: postgres:10
    environment:
      - POSTGRES_DB=my_app_development
      - POSTGRES_USER=postgres
      - POSTGRES_PASSWORD=secret123

  web:
    image: cblunt/rails-basic-app
    environment:
      DATABASE_URL: postgres://postgres:secret123@db:5432/my_app_development
      RAILS_ENV: development
      REDIS_URL: redis://redis:6379
    ports:
      - '3000:3000'
    depends_on:
      - db

  worker:
    image: cblunt/rails-basic-app
    environment:
      DATABASE_URL: postgres://postgres:secret123@db:5432/my_app_development
      RAILS_ENV: development
      REDIS_URL: redis://redis:6379
    command: bundle exec sidekiq
    depends_on:
      - db
      - redis

  redis:
    image: redis

Tag summary

Content type

Image

Digest

Size

121.3 MB

Last updated

over 7 years ago

docker pull cblunt/rails-basic-app