basalam/Metabase-Search

View on GitHub
deploy/docker-compose.yaml

Summary

Maintainability
Test Coverage
version: "3.3"

services:
  postgres:
    image: postgres:15.1-alpine
    container_name: metabase-db
    restart: always
    environment:
      POSTGRES_USER: postgres
      POSTGRES_PASSWORD: postgres
      POSTGRES_DB: metabase
    ports:
      - '127.0.0.1:5432:5432'
    volumes:
      - metabase-db:/var/lib/postgresql/data

  metabase:
    container_name: metabase
    restart: always
    image: metabase/metabase:v0.46.0
    ports:
      - 127.0.0.1:3000:3000 # recommended for debuging, etc.
    depends_on:
      - postgres
    environment:
      MB_DB_TYPE: postgres
      MB_DB_HOST: postgres
      MB_DB_PORT: 5432
      MB_DB_USER: postgres
      MB_DB_PASS: postgres
      MB_DB_DBNAME: metabase
      ## Any other metabase options should go here

  metabase-search:
    container_name: metabase-search
    restart: always
    image: ghcr.io/basalam/metabase-search:5498835
    ports:
      - 127.0.0.1:3001:80 # recommended for debuging, etc.
    depends_on:
      - postgres
    environment:
      TZ: Asia/Tehran
      WEB_CONCURRENCY: 2 # It will be equal to number of cores by defualt
      MB__BASE_URL: "https://metabase.local"
      MB__MAX_CONNECTIONS: "25"
      DB__HOST: "postgres"
      DB__PORT: "5432"
      DB__USER: "postgres"
      DB__PASSWORD: "postgres"
      DB__DBNAME: "metabase"
      DB__MIN_CONNECTIONS: "1"
      DB__MAX_CONNECTIONS: "25"
      CACHE__TTL: "300"
      # Here, add other ENVs (depends on your needs)

  nginx:
    image: nginx:stable-alpine
    container_name: nginx
    ports:
      - 80:80
      - 443:443
    depends_on:
      - metabase
      - metabase-search
    volumes:
      - ./nginx.conf:/etc/nginx/nginx.conf
      - /var/log/nginx/:/var/log/nginx/
      - ./my-cert.pem:/etc/ssl/my-cert.pem
      - ./my-cert.key:/etc/ssl/my-cert.key
      - ./dhparams.pem:/etc/nginx/dhparams.pem

volumes:
  metabase-db:
    name: metabase-db