| # |
| # Licensed to the Apache Software Foundation (ASF) under one |
| # or more contributor license agreements. See the NOTICE file |
| # distributed with this work for additional information |
| # regarding copyright ownership. The ASF licenses this file |
| # to you under the Apache License, Version 2.0 (the |
| # "License"); you may not use this file except in compliance |
| # with the License. You may obtain a copy of the License at |
| # |
| # http://www.apache.org/licenses/LICENSE-2.0 |
| # |
| # Unless required by applicable law or agreed to in writing, |
| # software distributed under the License is distributed on an |
| # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY |
| # KIND, either express or implied. See the License for the |
| # specific language governing permissions and limitations |
| # under the License. |
| # |
| |
| services: |
| postgres: |
| image: postgres:18.0 |
| ports: |
| - "5432:5432" |
| # set shared memory limit when using docker-compose |
| shm_size: 128mb |
| environment: |
| POSTGRES_USER: postgres |
| POSTGRES_PASSWORD: postgres |
| POSTGRES_DB: POLARIS |
| POSTGRES_INITDB_ARGS: "--encoding UTF8 --data-checksums" |
| volumes: |
| # Bind local conf file to a convenient location in the container |
| - type: bind |
| source: ${ASSETS_PATH}/postgres/postgresql.conf |
| target: /etc/postgresql/postgresql.conf |
| command: |
| - "postgres" |
| - "-c" |
| - "config_file=/etc/postgresql/postgresql.conf" |
| healthcheck: |
| test: "pg_isready -U postgres" |
| interval: 5s |
| timeout: 2s |
| retries: 15 |
| polaris-bootstrap: |
| depends_on: |
| postgres: |
| condition: service_healthy |
| polaris: |
| depends_on: |
| postgres: |
| condition: service_healthy |