/rails_cheat_sheet

Rails Cheat Sheet App

Primary LanguageRuby

Rails Cheat Sheet App

Development with docker-compose (optional)

Prerequisites

  1. Install docker
  2. Install docker-compose
  3. Don't forget Post-install section (for linux)
  4. Add an alias for docker-compose for ease use
echo "alias dcdev='docker-compose -f docker-compose-dev.yml'" >> ~/.bashrc

# For Oh My Zsh
echo "alias dcdev='docker-compose -f docker-compose-dev.yml'" >> ~/.zshrc
  1. Reload your rc file
. ~/.bashrc

# For Oh My Zsh
. ~/.zshrc
  1. For Redis, add vm.overcommit_memory = 1 to your /etc/sysctl.conf

First run

  1. Copy and edit .env file
cp docker_dev/.env_docker.example docker_dev/.env_docker
  1. Build an image
dcdev build
  1. Run app
dcdev up
  1. Create a Database and run migrations
dcdev run web bundle exec rails db:setup
# or
dcdev run web bundle exec rails db:create
dcdev run web bundle exec rails db:schema:load
dcdev run web bundle exec rails db:seed

Regular dev workflow

  1. Run dcdev up and you are good to go.
  2. To run any Rails related command, just shell dcdev run web bash and execute anything you want inside container.
  3. You can use or add any aliases you want, see docker_dev/Dockerfile. Don't forget to rebuild an image: Run dcdev down to stop everything and dcdev build to rebuild
  4. You might have an issues on Linux OS with permissions on files that created by Docker. Just run chown sudo chown -R YOUR_USER:YOUR_GROUP .

Debugging

  1. Place binding.pry or any other debugger in a place you need
  2. Run docker attach CONTAINER_NAME_web_1 to access console (Note that there might be some issues, see docker/compose#423 (comment))