From 082d4a8487f0ab3d266e9fa586f798ceb2936e90 Mon Sep 17 00:00:00 2001 From: netlas Date: Tue, 21 Apr 2026 23:49:37 +0300 Subject: [PATCH] chore(docker): Add docker-compose.yaml for Ploi deployment Ploi Docker feature uses docker-compose.yaml by default. This is a copy of the production configuration. --- docker-compose.yaml | 101 ++++++++++---------------------------------- 1 file changed, 23 insertions(+), 78 deletions(-) diff --git a/docker-compose.yaml b/docker-compose.yaml index facac830f..ed63769a6 100644 --- a/docker-compose.yaml +++ b/docker-compose.yaml @@ -4,95 +4,49 @@ 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 + dockerfile: docker/Dockerfile + env_file: .env ## Change this file for customized env variables + volumes: + - storage_data:/app/storage 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 - - vite - - mailhog - - sidekiq ports: - - 3000:3000 - env_file: .env + - '127.0.0.1:3001:3000' environment: - - VITE_DEV_SERVER_HOST=vite - - NODE_ENV=development - - RAILS_ENV=development + - NODE_ENV=production + - RAILS_ENV=production + - INSTALLATION_ENV=docker entrypoint: docker/entrypoints/rails.sh - command: ["bundle", "exec", "rails", "s", "-p", "3000", "-b", "0.0.0.0"] + command: ['bundle', 'exec', 'rails', 's', '-p', '3000', '-b', '0.0.0.0'] + restart: always 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"] - - vite: - <<: *base - build: - context: . - dockerfile: ./docker/dockerfiles/vite.Dockerfile - image: chatwoot-vite:development - volumes: - - ./:/app:delegated - - node_modules:/app/node_modules - - packs:/app/public/packs - - cache:/app/tmp/cache - - bundle:/usr/local/bundle - ports: - - "3036:3036" # Vite dev server - environment: - - VITE_DEV_SERVER_HOST=0.0.0.0 - - NODE_ENV=development - - RAILS_ENV=development - entrypoint: docker/entrypoints/vite.sh - command: bin/vite dev + - NODE_ENV=production + - RAILS_ENV=production + - INSTALLATION_ENV=docker + command: ['bundle', 'exec', 'sidekiq', '-C', 'config/sidekiq.yml'] + restart: always postgres: image: pgvector/pgvector:pg16 restart: always ports: - - '5432:5432' + - '127.0.0.1:5432:5432' volumes: - - postgres:/data/postgres + - postgres_data:/var/lib/postgresql/data environment: - POSTGRES_DB=chatwoot - POSTGRES_USER=postgres - - POSTGRES_PASSWORD= + - POSTGRES_PASSWORD=${POSTGRES_PASSWORD} redis: image: redis:alpine @@ -100,20 +54,11 @@ services: command: ["sh", "-c", "redis-server --requirepass \"$REDIS_PASSWORD\""] env_file: .env volumes: - - redis:/data/redis + - redis_data:/data ports: - - '6379:6379' - - mailhog: - image: mailhog/mailhog - ports: - - 1025:1025 - - 8025:8025 + - '127.0.0.1:6379:6379' volumes: - postgres: - redis: - packs: - node_modules: - cache: - bundle: + storage_data: + postgres_data: + redis_data: