mirror of
				https://github.com/lingble/chatwoot.git
				synced 2025-11-04 13:07:55 +00:00 
			
		
		
		
	Starting v4.0, pgvector support is mandatory. This PR adds pgvector support for new docker installations. - Switch to postgres images with pgvector support - Change the default postgres version from `12` to `16`
		
			
				
	
	
		
			120 lines
		
	
	
		
			2.6 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
	
			
		
		
	
	
			120 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
 | 
						|
      - vite
 | 
						|
      - mailhog
 | 
						|
      - sidekiq
 | 
						|
    ports:
 | 
						|
      - 3000:3000
 | 
						|
    env_file: .env
 | 
						|
    environment:
 | 
						|
      - VITE_DEV_SERVER_HOST=vite
 | 
						|
      - 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"]
 | 
						|
 | 
						|
  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
 | 
						|
 | 
						|
  postgres:
 | 
						|
    image: pgvector/pgvector:pg16
 | 
						|
    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:
 |