ToolJet/docker-compose.yaml

103 lines
2.2 KiB
YAML

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.0.2
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: