version: "3.7" services: tooljet-client: tty: true stdin_open: true image: tooljet/tooljet-client-ce:v2.4.2 container_name: tooljet-client restart: always ports: - ${APP_PORT}:80 depends_on: - tooljet-server networks: - tipi_main_network 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: image: tooljet/tooljet-server-ce:v2.14.0 container_name: tooljet-server tty: true stdin_open: true restart: always networks: - tipi_main_network environment: - SERVE_CLIENT=false - TOOLJET_HOST=https://${APP_DOMAIN} - LOCKBOX_MASTER_KEY=70726290922441785304399601987729268981756953900892 - SECRET_KEY_BASE=mqrBZqJvzUJ2GsHQaktZjKdb2cvdM8 - ORM_LOGGING - PG_DB=tooljet - PG_USER=tooljet - PG_HOST=postgres_tooljet - PG_PASS=${DB_PASSWORD} - CHECK_FOR_UPDATES=check_if_updates_are_available - GOOGLE_CLIENT_ID - GOOGLE_CLIENT_SECRET - DEFAULT_FROM_EMAIL=hello@tooljet.io - SMTP_USERNAME - SMTP_PASSWORD - SMTP_DOMAIN - SMTP_PORT - DISABLE_SIGNUPS - APM_VENDOR - SENTRY_DNS - SENTRY_DEBUG - SSO_DISABLE_SIGNUP - SSO_RESTRICTED_DOMAIN - SSO_GOOGLE_OAUTH2_CLIENT_ID - SSO_GIT_OAUTH2_CLIENT_ID - SSO_GIT_OAUTH2_CLIENT_SECRET command: npm run start:prod db-tooljet: container_name: postgres_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