/otp-2fa-rails

This is a demo application with One-time password Two-factor authentication in Ruby on Rails with Devise gem.

Primary LanguageRuby

OTP 2FA Rails

This is a demo application with One-time password Two-factor authentication in Ruby on Rails with Devise gem.

Branches

  • with-otp-2fa (main branch) -- application with auth and OTP 2FA.
  • plain-app -- application with auth, but without 2FA.

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 .