version: "3.8"
services:
  nocodb:
    image: nocodb/nocodb:0.257.2
    restart: always
    environment:
      NC_DB: "pg://root_db?u=postgres&p=password&d=root_db"
      PORT: ${NOCODB_PORT}
      NC_REDIS_URL: ${NC_REDIS_URL}
    volumes:
      - nc_data:/usr/app/data

  root_db:
    image: postgres:17
    restart: always

    environment:
      POSTGRES_DB: root_db
      POSTGRES_PASSWORD: password
      POSTGRES_USER: postgres
    healthcheck:
      interval: 10s
      retries: 10
      test: 'pg_isready -U "$$POSTGRES_USER" -d "$$POSTGRES_DB"'
      timeout: 2s
    volumes:
      - "db_data:/var/lib/postgresql/data"

volumes:
  db_data: {}
  nc_data: {}
