chore(docker): Add docker-compose.yaml for Ploi deployment
Some checks failed
Lock Threads / action (push) Has been cancelled

Ploi Docker feature uses docker-compose.yaml by default. This is a copy of the production configuration.
This commit is contained in:
netlas
2026-04-21 23:49:37 +03:00
parent 93951cc9a8
commit 082d4a8487

View File

@@ -4,95 +4,49 @@ services:
base: &base base: &base
build: build:
context: . context: .
dockerfile: ./docker/Dockerfile dockerfile: docker/Dockerfile
args: env_file: .env ## Change this file for customized env variables
BUNDLE_WITHOUT: '' volumes:
EXECJS_RUNTIME: 'Node' - storage_data:/app/storage
RAILS_ENV: 'development'
RAILS_SERVE_STATIC_FILES: 'false'
tty: true
stdin_open: true
image: chatwoot:development
env_file: .env
rails: rails:
<<: *base <<: *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: depends_on:
- postgres - postgres
- redis - redis
- vite
- mailhog
- sidekiq
ports: ports:
- 3000:3000 - '127.0.0.1:3001:3000'
env_file: .env
environment: environment:
- VITE_DEV_SERVER_HOST=vite - NODE_ENV=production
- NODE_ENV=development - RAILS_ENV=production
- RAILS_ENV=development - INSTALLATION_ENV=docker
entrypoint: docker/entrypoints/rails.sh 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: sidekiq:
<<: *base <<: *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: depends_on:
- postgres - postgres
- redis - redis
- mailhog
environment: environment:
- NODE_ENV=development - NODE_ENV=production
- RAILS_ENV=development - RAILS_ENV=production
command: ["bundle", "exec", "sidekiq", "-C", "config/sidekiq.yml"] - INSTALLATION_ENV=docker
command: ['bundle', 'exec', 'sidekiq', '-C', 'config/sidekiq.yml']
vite: restart: always
<<: *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
postgres: postgres:
image: pgvector/pgvector:pg16 image: pgvector/pgvector:pg16
restart: always restart: always
ports: ports:
- '5432:5432' - '127.0.0.1:5432:5432'
volumes: volumes:
- postgres:/data/postgres - postgres_data:/var/lib/postgresql/data
environment: environment:
- POSTGRES_DB=chatwoot - POSTGRES_DB=chatwoot
- POSTGRES_USER=postgres - POSTGRES_USER=postgres
- POSTGRES_PASSWORD= - POSTGRES_PASSWORD=${POSTGRES_PASSWORD}
redis: redis:
image: redis:alpine image: redis:alpine
@@ -100,20 +54,11 @@ services:
command: ["sh", "-c", "redis-server --requirepass \"$REDIS_PASSWORD\""] command: ["sh", "-c", "redis-server --requirepass \"$REDIS_PASSWORD\""]
env_file: .env env_file: .env
volumes: volumes:
- redis:/data/redis - redis_data:/data
ports: ports:
- '6379:6379' - '127.0.0.1:6379:6379'
mailhog:
image: mailhog/mailhog
ports:
- 1025:1025
- 8025:8025
volumes: volumes:
postgres: storage_data:
redis: postgres_data:
packs: redis_data:
node_modules:
cache:
bundle: