version: '7.1' # Define default environment variables to pass # to Docker Compose environment: RAILS_ENV: development compose: files: - docker-compose.yml project_name: forem interaction: # This command spins up a Rails container with the required dependencies (such as databases), # and opens a terminal within it. runner: description: Open a Bash shell within a Rails container (with dependencies up) service: rails command: /bin/bash # Run a Rails container without any dependent services (useful for non-Rails scripts) bash: description: Run an arbitrary script within a container (or open a shell without deps) service: rails command: /bin/bash compose_run_options: [ no-deps ] # A shortcut to run Bundler commands bundle: description: Run Bundler commands service: rails command: bundle compose_run_options: [ no-deps ] # A shortcut to run RSpec (which overrides the RAILS_ENV) rspec: description: Run Rails unit tests service: rails environment: RAILS_ENV: test command: bundle exec rspec --exclude-pattern 'system/**/*_spec.rb' subcommands: system: description: Run Rails system tests service: rspec_system command: bundle exec rspec --pattern 'system/**/*_spec.rb' rails: description: Run Rails commands service: rails command: bundle exec rails subcommands: s: description: Run Rails server at http://localhost:3000 service: web compose: run_options: [ service-ports, use-aliases ] yarn: description: Run Yarn commands service: rails command: yarn compose_run_options: [ no-deps ] psql: description: Run Postgres psql console service: postgres default_args: practicaldeveloper_development command: psql -h postgres -U postgres 'redis-cli': description: Run Redis console service: redis command: redis-cli -h redis provision: # You may include this command if you would like to remove all volumes # - dip compose down --volumes # - dip compose up -d postgres - dip compose up -d redis - dip bash -c bin/setup - dip rails db:test:prepare RAILS_ENV=test