🔥Docker and environment variables cleanup (#270)
* Added dotenv-rails gem to manage environment variables * Added dotenv-rails gem to manage environment variables * Removed figaro which was used earlier for this purpose * Standardized variable names * Changed all env variables to be upper case. This included changes in files referencing env variables. * Added example env file with all variables set to empty value * Removed the earlier setup of copying application.yml and database.yml and the scripts and documentation associated to this * Docker setup * Added docker file for building the docker images * Added entrypoint.sh script which is referenced inside the Docker image * Cloned the Procfile for development using docker which has slight change compared to regular procfile * Added the docker-compose.yml which has 3 service's configuration, postgres, redis and chatwoot server and a mounted volume for postgres * Added docker related info to documentation * Added the docker setup info in the documentation * Added info for using`rbenv` instead of rvm for managing ruby versions * Updated the documentation for environment variables to have one about `dotenv-rails` gem and removed the documentation about the old copy paste method used by figaro * Changing the postgres database, username and password as environment variables * Removed database.yml from gitignore * Made the postgres databse, username and password as environemnt variables * Added this in documentation * Added a quick setup page * Added quick setup page * Removed the docs from README and added link to the docs in website * Removed the figaro related things from circle.ci config * Adding external volume for redis in docker compose * Added instructions for adding the redis volume in docs
This commit is contained in:
committed by
Pranav Raj S
parent
c6feea9f6d
commit
da9ac8b26d
32
docker/Dockerfile
Normal file
32
docker/Dockerfile
Normal file
@@ -0,0 +1,32 @@
|
||||
FROM ruby:2.6.5-slim
|
||||
|
||||
RUN apt-get update \
|
||||
&& apt-get -qq -y install \
|
||||
build-essential \
|
||||
curl \
|
||||
git \
|
||||
imagemagick \
|
||||
libpq-dev \
|
||||
&& curl -L https://deb.nodesource.com/setup_12.x | bash - \
|
||||
&& curl https://dl.yarnpkg.com/debian/pubkey.gpg | apt-key add - \
|
||||
&& echo 'deb https://dl.yarnpkg.com/debian stable main' > /etc/apt/sources.list.d/yarn.list \
|
||||
&& apt-get update \
|
||||
&& apt-get -qq -y install nodejs yarn \
|
||||
&& apt-get clean \
|
||||
&& rm -rf /var/lib/apt/lists/*
|
||||
|
||||
RUN mkdir -p /app
|
||||
WORKDIR /app
|
||||
COPY . /app
|
||||
|
||||
RUN bundle
|
||||
RUN yarn
|
||||
RUN bundle exec rake assets:precompile
|
||||
|
||||
# Add a script to be executed every time the container starts.
|
||||
COPY ./docker/entrypoint.sh /usr/bin/
|
||||
RUN chmod +x /usr/bin/entrypoint.sh
|
||||
ENTRYPOINT ["entrypoint.sh"]
|
||||
|
||||
EXPOSE 3000
|
||||
CMD ["rails", "server", "-b", "0.0.0.0", "-p", "3000"]
|
||||
2
docker/Procfile.docker.dev
Normal file
2
docker/Procfile.docker.dev
Normal file
@@ -0,0 +1,2 @@
|
||||
backend: ../bin/rails server -b 0.0.0.0 -p 3000
|
||||
frontend: ../bin/webpack-dev-server
|
||||
8
docker/entrypoint.sh
Executable file
8
docker/entrypoint.sh
Executable file
@@ -0,0 +1,8 @@
|
||||
#!/bin/bash
|
||||
set -e
|
||||
|
||||
# Remove a potentially pre-existing server.pid for Rails.
|
||||
rm -f /app/tmp/pids/server.pid
|
||||
|
||||
# Then exec the container's main process (what's set as CMD in the Dockerfile).
|
||||
exec "$@"
|
||||
Reference in New Issue
Block a user