version: "3" services: plugins: build: context: ./ dockerfile: ./docker/plugins.Dockerfile.dev image: tooljet-plugins:development container_name: plugins platform: linux/x86_64 volumes: - ./plugins:/app/plugins command: npm run --prefix plugins start client: build: context: ./ dockerfile: ./docker/client.Dockerfile.dev image: tooljet-client:development container_name: client platform: linux/x86_64 volumes: - ./frontend:/app/frontend:delegated - ./plugins:/app/plugins - /app/frontend/node_modules/ ports: - 8082:8082 environment: - WEBPACKER_DEV_SERVER_HOST=0.0.0.0 - NODE_ENV=development - SERVE_CLIENT=false command: npm run --prefix frontend start server: build: context: ./ dockerfile: ./docker/server.Dockerfile.dev image: tooljet-server:development container_name: server platform: linux/x86_64 depends_on: - postgres - redis - postgrest volumes: - ./server:/app/server:delegated - ./plugins:/app/plugins - /app/server/node_modules/ - ./.env:/app/.env - ./.env.test:/app/.env.test ports: - 3000:3000 environment: - SERVE_CLIENT=false - FORCE_COLOR=1 - TOOLJET_EDITION=${TOOLJET_EDITION:-ce} - REDIS_HOST=redis - REDIS_PORT=6379 - PG_HOST=postgres - PGRST_HOST=postgrest - PGRST_SERVER_PORT=3000 command: npm run --prefix server start:dev redis: container_name: redis image: redis:7-alpine ports: - 6379:6379 volumes: - redis:/data command: redis-server --appendonly yes healthcheck: test: ["CMD", "redis-cli", "ping"] interval: 10s timeout: 5s retries: 5 postgrest: container_name: postgrest image: postgrest/postgrest:v12.2.0 ports: - "3001:3000" env_file: - .env depends_on: - postgres postgres: container_name: ${PG_HOST} image: postgres:13 restart: always ports: - 5432:5432 volumes: - postgres:/data/postgres env_file: .env environment: - POSTGRES_USER=${PG_USER} - POSTGRES_PASSWORD=${PG_PASS} volumes: postgres: redis: