39c2270227
* fix: pg pass printed by docker container (#1371) The "POSTGRES_PASSWORD" variable setting inside the entrypoint script of the rails docker container was printed in the logs when the container was run using docker compose. Fixed this by removing this password being set in this script. Added env file from root directory to the container Updated the tailwind evrsion in yarn lock * fix: moved pg database url check in the entrypoint to another helper created a new helper docker/entrypoints/helpers/pg_database_url.sh to parse the databse url and export the postgres host, user and port. With this the pg is_ready check falls to a common format rather than two formats depending on DATABASE_URL env variable is present or not. * fix: rename pg ready variable in rails entrypoint
119 lines
2.6 KiB
YAML
119 lines
2.6 KiB
YAML
version: '3'
|
|
|
|
services:
|
|
base: &base
|
|
build:
|
|
context: .
|
|
dockerfile: ./docker/Dockerfile
|
|
args:
|
|
BUNDLE_WITHOUT: ''
|
|
EXECJS_RUNTIME: 'Node'
|
|
RAILS_ENV: 'development'
|
|
RAILS_SERVE_STATIC_FILES: 'false'
|
|
tty: true
|
|
stdin_open: true
|
|
image: chatwoot:development
|
|
env_file: .env
|
|
|
|
rails:
|
|
<<: *base
|
|
build:
|
|
context: .
|
|
dockerfile: ./docker/dockerfiles/rails.Dockerfile
|
|
image: chatwoot-rails:development
|
|
volumes:
|
|
- ./:/app:delegated
|
|
- node_modules:/app/node_modules
|
|
- packs:/app/public/packs
|
|
- cache:/app/tmp/cache
|
|
- bundle:/usr/local/bundle
|
|
depends_on:
|
|
- postgres
|
|
- redis
|
|
- webpack
|
|
- mailhog
|
|
- sidekiq
|
|
ports:
|
|
- 3000:3000
|
|
env_file: .env
|
|
environment:
|
|
- WEBPACKER_DEV_SERVER_HOST=webpack
|
|
- NODE_ENV=development
|
|
- RAILS_ENV=development
|
|
entrypoint: docker/entrypoints/rails.sh
|
|
command: ["bundle", "exec", "rails", "s", "-p", "3000", "-b", "0.0.0.0"]
|
|
|
|
sidekiq:
|
|
<<: *base
|
|
image: chatwoot-rails:development
|
|
volumes:
|
|
- ./:/app:delegated
|
|
- node_modules:/app/node_modules
|
|
- packs:/app/public/packs
|
|
- cache:/app/tmp/cache
|
|
- bundle:/usr/local/bundle
|
|
depends_on:
|
|
- postgres
|
|
- redis
|
|
- mailhog
|
|
environment:
|
|
- NODE_ENV=development
|
|
- RAILS_ENV=development
|
|
command: ["bundle", "exec", "sidekiq", "-C", "config/sidekiq.yml"]
|
|
|
|
webpack:
|
|
<<: *base
|
|
build:
|
|
context: .
|
|
dockerfile: ./docker/dockerfiles/webpack.Dockerfile
|
|
image: chatwoot-webpack:development
|
|
volumes:
|
|
- ./:/app:delegated
|
|
- node_modules:/app/node_modules # Node modules shared across containers
|
|
- packs:/app/public/packs
|
|
- cache:/app/tmp/cache
|
|
- bundle:/usr/local/bundle
|
|
ports:
|
|
- "3035" # Webpack dev server
|
|
environment:
|
|
- WEBPACKER_DEV_SERVER_HOST=0.0.0.0
|
|
- NODE_ENV=development
|
|
- RAILS_ENV=development
|
|
entrypoint: docker/entrypoints/webpack.sh
|
|
command: bin/webpack-dev-server
|
|
|
|
postgres:
|
|
image: postgres:12
|
|
restart: always
|
|
ports:
|
|
- '5432:5432'
|
|
volumes:
|
|
- postgres:/data/postgres
|
|
environment:
|
|
- POSTGRES_DB=chatwoot
|
|
- POSTGRES_USER=postgres
|
|
- POSTGRES_PASSWORD=
|
|
|
|
redis:
|
|
image: redis:alpine
|
|
restart: always
|
|
command: ["sh", "-c", "redis-server --requirepass \"$REDIS_PASSWORD\""]
|
|
env_file: .env
|
|
volumes:
|
|
- redis:/data/redis
|
|
ports:
|
|
- '6379:6379'
|
|
|
|
mailhog:
|
|
image: mailhog/mailhog
|
|
ports:
|
|
- 1025:1025
|
|
- 8025:8025
|
|
|
|
volumes:
|
|
postgres:
|
|
redis:
|
|
packs:
|
|
node_modules:
|
|
cache:
|
|
bundle:
|