80 lines
		
	
	
		
			2.6 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
	
			
		
		
	
	
			80 lines
		
	
	
		
			2.6 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
	
version: '3.7'
 | 
						|
 | 
						|
services:
 | 
						|
  tooljet:
 | 
						|
    container_name: tooljet
 | 
						|
    tty: true
 | 
						|
    stdin_open: true
 | 
						|
    image: tooljet/tooljet-client-ce:v2.4.2
 | 
						|
    restart: always
 | 
						|
    ports:
 | 
						|
      - ${APP_PORT}:80
 | 
						|
    depends_on:
 | 
						|
      - tooljet-server
 | 
						|
    networks:
 | 
						|
      - tipi_main_network
 | 
						|
    environment:
 | 
						|
      - SERVER_HOST=tooljet-server
 | 
						|
    labels:
 | 
						|
      # Main
 | 
						|
      traefik.enable: true
 | 
						|
      traefik.http.middlewares.tooljet-web-redirect.redirectscheme.scheme: https
 | 
						|
      traefik.http.services.tooljet.loadbalancer.server.port: 80
 | 
						|
      # Web
 | 
						|
      traefik.http.routers.tooljet-insecure.rule: Host(`${APP_DOMAIN}`)
 | 
						|
      traefik.http.routers.tooljet-insecure.entrypoints: web
 | 
						|
      traefik.http.routers.tooljet-insecure.service: tooljet
 | 
						|
      traefik.http.routers.tooljet-insecure.middlewares: tooljet-web-redirect
 | 
						|
      # Websecure
 | 
						|
      traefik.http.routers.tooljet.rule: Host(`${APP_DOMAIN}`)
 | 
						|
      traefik.http.routers.tooljet.entrypoints: websecure
 | 
						|
      traefik.http.routers.tooljet.service: tooljet
 | 
						|
      traefik.http.routers.tooljet.tls.certresolver: myresolver
 | 
						|
      # Local domain
 | 
						|
      traefik.http.routers.tooljet-local-insecure.rule: Host(`tooljet.${LOCAL_DOMAIN}`)
 | 
						|
      traefik.http.routers.tooljet-local-insecure.entrypoints: web
 | 
						|
      traefik.http.routers.tooljet-local-insecure.service: tooljet
 | 
						|
      traefik.http.routers.tooljet-local-insecure.middlewares: tooljet-web-redirect
 | 
						|
      # Local domain secure
 | 
						|
      traefik.http.routers.tooljet-local.rule: Host(`tooljet.${LOCAL_DOMAIN}`)
 | 
						|
      traefik.http.routers.tooljet-local.entrypoints: websecure
 | 
						|
      traefik.http.routers.tooljet-local.service: tooljet
 | 
						|
      traefik.http.routers.tooljet-local.tls: true
 | 
						|
    command: openresty -g "daemon off;"
 | 
						|
 | 
						|
  tooljet-server:
 | 
						|
    container_name: tooljet-server
 | 
						|
    image: tooljet/tooljet-server-ce:v2.24.0
 | 
						|
    tty: true
 | 
						|
    stdin_open: true
 | 
						|
    restart: always
 | 
						|
    networks:
 | 
						|
      - tipi_main_network
 | 
						|
    environment:
 | 
						|
      - SERVE_CLIENT=false
 | 
						|
      - SERVER_HOST=tooljet-server
 | 
						|
      - TOOLJET_HOST=https://${APP_DOMAIN}
 | 
						|
      - LOCKBOX_MASTER_KEY=${LOCKBOX_MASTER_KEY}
 | 
						|
      - SECRET_KEY_BASE=${SECRET_KEY_BASE}
 | 
						|
      - PG_DB=tooljet
 | 
						|
      - PG_USER=tooljet
 | 
						|
      - PG_HOST=db-tooljet
 | 
						|
      - PG_PASS=${DB_PASSWORD}
 | 
						|
      - CHECK_FOR_UPDATES=check_if_updates_are_available
 | 
						|
      - DEFAULT_FROM_EMAIL=hello@tooljet.io
 | 
						|
    command: npm run start:prod
 | 
						|
 | 
						|
  db-tooljet:
 | 
						|
    container_name: db-tooljet
 | 
						|
    image: postgres:11
 | 
						|
    restart: on-failure
 | 
						|
    volumes:
 | 
						|
      - ${APP_DATA_DIR}/data/db:/var/lib/postgresql/data
 | 
						|
    environment:
 | 
						|
      - POSTGRES_USER=tooljet
 | 
						|
      - POSTGRES_PASSWORD=${DB_PASSWORD}
 | 
						|
      - POSTGRES_DB=tooljet
 | 
						|
      - PGDATA=/data/postgres
 | 
						|
    networks:
 | 
						|
      - tipi_main_network
 |