2.2 KiB
path, title
| path | title |
|---|---|
| /docs/installation-guide-docker | Docker Setup and Debugging Guide |
Development environment
After cloning the repo and installing docker on your machine, run the following command from the root directory of the project.
cp .env.example .env
Make changes to the .env file as required [Optional]. If you want to set the password for redis when you run
docker-compose, set any string value to the environment variable REDIS_PASSWORD in the .env file. which will secure the redis running inside docker-compose with this password. This will be automatically picked up by app server and sidekiq, to authenticate while making connections to redis server.
docker-compose build
After building the image or after destroying the stack you would have to reset the database using following command
docker-compose run --rm rails bundle exec rails db:reset
Running the app
docker-compose run --rm --service-port rails
open another terminal and also run below command to run sidekiq in a separate service
docker-compose run --rm rails bundle exec sidekiq
- Access the rails app frontend by visiting
http://0.0.0.0:3000/ - Access Mailhog inbox by visiting
http://0.0.0.0:8025/(You will receive all emails going out of the application here) - Access Sidekiq Web UI by visiting
http://0.0.0.0:3000/sidekiq(You need to login with administrator account to access sidekiq)
you can also use the below command instead to run the app and see the full logs.
docker-compose up
Destroying the complete composer stack
docker-compose down
Running rspec tests
For running the complete rspec tests
docker-compose run --rm rails bundle exec rspec
For running specific test:
docker-compose run --rm rails bundle exec rspec spec/<path-to-file>:<line-number>
production environment
Sometimes you might want to debug the production build locally. You would first need to set SECRET_KEY_BASE environment variable in your .env.example file and then run the below commands:
docker-compose -f docker-compose.production.yaml build
docker-compose -f docker-compose.production.yaml up