app-store/apps/tooljet/docker-compose.yml

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