From fd0d62eb8808c849e380f823c8811608631770aa Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Mon, 28 Sep 2026 15:02:29 +0000 Subject: [PATCH 1/7] feat: add PostgreSQL 18 defaults Co-authored-by: naorpeled <6171622+naorpeled@users.noreply.github.com> --- Dockerfile | 2 +- README.md | 34 +++++++++++++++++----------------- docker-compose.test.yml | 8 ++++---- docker-compose.yml | 10 +++++----- versions.json | 8 +++++++- 5 files changed, 34 insertions(+), 28 deletions(-) diff --git a/Dockerfile b/Dockerfile index 5c52710..490dd18 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,5 +1,5 @@ # Default versions - can be overridden at build time using --build-arg -ARG PG_VERSION=17.9 +ARG PG_VERSION=18.3 ARG POSTGIS_VERSION=3.6.2 ARG PGVECTOR_VERSION=0.8.2 diff --git a/README.md b/README.md index 3c30893..b46ef69 100644 --- a/README.md +++ b/README.md @@ -12,18 +12,18 @@ This Docker image extends the official PostgreSQL image with PostGIS and pgvecto Pre-built images are available on GitHub Container Registry (GHCR). Replace `yourusername/yourrepositoryname` with your actual GHCR path (e.g., `ghcr.io/naorpeled/typeorm-postgres-docker`). -Example tags (refer to the `publish.yml` workflow matrix for all combinations): +Example tags (refer to `versions.json` and the `publish.yml` workflow matrix for all combinations): -- `ghcr.io/yourusername/yourrepositoryname:pg16-postgis3-pgvectorv0.8.0` +- `ghcr.io/yourusername/yourrepositoryname:postgres-18.3-postgis-3.6.2-pgvector-0.8.2` - `ghcr.io/yourusername/yourrepositoryname:latest` (points to the default latest combination) ## Build Arguments The following build arguments can be used with `docker build --build-arg VAR=value` or via the `args` section in `docker-compose.yml` (which can use environment variables from your `.env` file): -- `PG_MAJOR_VERSION`: PostgreSQL major version (default: 16). In `docker-compose.yml`, fed by `PG_MAJOR` env var. -- `POSTGIS_MAJOR_VERSION`: PostGIS major version (default: 3). In `docker-compose.yml`, fed by `POSTGIS_MAJOR_VERSION` env var. -- `PGVECTOR_TAG`: pgvector version tag (e.g., `v0.8.0`, default: v0.8.0). In `docker-compose.yml`, fed by `PGVECTOR_VERSION` env var. +- `PG_VERSION`: PostgreSQL image tag (default: 18.3). In `docker-compose.yml`, fed by the `PG_VERSION` env var. +- `POSTGIS_VERSION`: PostGIS package version (default: 3.6.2). In `docker-compose.yml`, fed by the `POSTGIS_VERSION` env var. +- `PGVECTOR_VERSION`: pgvector release version (e.g., `0.8.2`, default: `0.8.2`). In `docker-compose.yml`, fed by the `PGVECTOR_VERSION` env var. ## Building the Image @@ -33,9 +33,9 @@ docker build -t your-image-name . # Build with custom versions (using Docker build args) docker build \\ - --build-arg PG_MAJOR_VERSION=15 \\ - --build-arg POSTGIS_MAJOR_VERSION=3 \\ - --build-arg PGVECTOR_TAG=v0.7.2 \\ + --build-arg PG_VERSION=17.9 \\ + --build-arg POSTGIS_VERSION=3.6.2 \\ + --build-arg PGVECTOR_VERSION=0.8.2 \\ -t your-image-name:custom . ``` @@ -67,9 +67,9 @@ services: build: context: . args: - PG_MAJOR_VERSION: ${PG_MAJOR:-16} - POSTGIS_MAJOR_VERSION: ${POSTGIS_MAJOR_VERSION:-3} - PGVECTOR_TAG: ${PGVECTOR_VERSION:-v0.8.0} + PG_VERSION: ${PG_VERSION:-18.3} + POSTGIS_VERSION: ${POSTGIS_VERSION:-3.6.2} + PGVECTOR_VERSION: ${PGVECTOR_VERSION:-0.8.2} command: postgres -c shared_preload_libraries=vector # Ensures pgvector preloading environment: POSTGRES_PASSWORD: ${POSTGRES_PASSWORD:-test} # TypeORM test default @@ -82,9 +82,9 @@ Create a `.env` file in the same directory as `docker-compose.yml` to set build ```env # .env (example) -PG_MAJOR=16 -POSTGIS_MAJOR_VERSION=3 -PGVECTOR_VERSION=v0.8.0 +PG_VERSION=18.3 +POSTGIS_VERSION=3.6.2 +PGVECTOR_VERSION=0.8.2 POSTGRES_PASSWORD=supersecret POSTGRES_USER=myuser @@ -103,7 +103,7 @@ docker compose up --build -d This repository includes GitHub Actions workflows: -- `.github/workflows/test.yml`: Builds the Docker image with a matrix of PostgreSQL versions and pgvector tags, and runs basic extension checks. `POSTGIS_MAJOR_VERSION` is typically fixed (e.g., to 3) in these tests. +- `.github/workflows/test.yml`: Builds the Docker image with a matrix of PostgreSQL, PostGIS, and pgvector versions from `versions.json`, and runs basic extension checks. - `.github/workflows/publish.yml`: Builds and publishes the Docker image to GHCR on tagged releases (e.g., `v1.0.0`). The image name on GHCR will be based on your GitHub username/organization and repository name (e.g., `ghcr.io/yourusername/yourrepositoryname`). ## TypeORM Compatibility @@ -120,7 +120,7 @@ This setup ensures that TypeORM can connect and utilize PostGIS and pgvector fun Inherits all environment variables from the official PostgreSQL image. See the [official PostgreSQL image documentation](https://hub.docker.com/_/postgres/) for details. -The build arguments `PG_MAJOR_VERSION`, `POSTGIS_MAJOR_VERSION`, and `PGVECTOR_TAG` are also exposed as environment variables with the same names within the running container for runtime inspection. +The image is parameterized by the `PG_VERSION`, `POSTGIS_VERSION`, and `PGVECTOR_VERSION` build arguments. Additional runtime environment variables for the entrypoint script: @@ -137,7 +137,7 @@ To run tests locally using this file: docker compose -f docker-compose.test.yml up --build --exit-code-from test # Test with specific versions by setting environment variables for the compose command: -PG_MAJOR=15 POSTGIS_MAJOR_VERSION=3 PGVECTOR_VERSION=v0.7.2 docker compose -f docker-compose.test.yml up --build --exit-code-from test +PG_VERSION=17.9 POSTGIS_VERSION=3.6.2 PGVECTOR_VERSION=0.8.2 docker compose -f docker-compose.test.yml up --build --exit-code-from test ``` ## License diff --git a/docker-compose.test.yml b/docker-compose.test.yml index 10e7cd1..19020bf 100644 --- a/docker-compose.test.yml +++ b/docker-compose.test.yml @@ -5,9 +5,9 @@ services: build: context: . args: - PG_MAJOR: ${PG_MAJOR:-16} - POSTGIS_MAJOR_VERSION: ${POSTGIS_MAJOR_VERSION:-3} - PGVECTOR_VERSION: ${PGVECTOR_VERSION:-v0.7.2} + PG_VERSION: ${PG_VERSION:-18.3} + POSTGIS_VERSION: ${POSTGIS_VERSION:-3.6.2} + PGVECTOR_VERSION: ${PGVECTOR_VERSION:-0.8.2} environment: POSTGRES_PASSWORD: test POSTGRES_USER: test @@ -20,7 +20,7 @@ services: retries: 5 test: - image: postgres:${PG_MAJOR:-16} + image: postgres:${PG_VERSION:-18.3} depends_on: postgres: condition: service_healthy diff --git a/docker-compose.yml b/docker-compose.yml index 205b49d..cf8b3e2 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -3,17 +3,17 @@ services: build: context: . args: - PG_MAJOR_VERSION: ${PG_MAJOR:-16} # Environment variable PG_MAJOR, defaults to 16 - POSTGIS_MAJOR_VERSION: ${POSTGIS_MAJOR_VERSION:-3} # Environment variable POSTGIS_MAJOR_VERSION, defaults to 3 - PGVECTOR_TAG: ${PGVECTOR_VERSION:-v0.8.0} # Environment variable PGVECTOR_VERSION, defaults to v0.8.0 + PG_VERSION: ${PG_VERSION:-18.3} # Environment variable PG_VERSION, defaults to 18.3 + POSTGIS_VERSION: ${POSTGIS_VERSION:-3.6.2} # Environment variable POSTGIS_VERSION, defaults to 3.6.2 + PGVECTOR_VERSION: ${PGVECTOR_VERSION:-0.8.2} # Environment variable PGVECTOR_VERSION, defaults to 0.8.2 environment: # TypeORM test defaults, or override with your own .env file POSTGRES_PASSWORD: ${POSTGRES_PASSWORD:-test} POSTGRES_USER: ${POSTGRES_USER:-test} POSTGRES_DB: ${POSTGRES_DB:-test} ADDITIONAL_DATABASES: ${ADDITIONAL_DATABASES:-} - # The following are set inside the Dockerfile from build ARGs for runtime access if needed: - # PG_MAJOR_VERSION, POSTGIS_MAJOR_VERSION, PGVECTOR_TAG + # The following build args are available while building the image: + # PG_VERSION, POSTGIS_VERSION, PGVECTOR_VERSION ports: - "${POSTGRES_PORT:-5432}:5432" volumes: diff --git a/versions.json b/versions.json index c88ac01..d700049 100644 --- a/versions.json +++ b/versions.json @@ -1,10 +1,16 @@ [ { - "pg_version": "17.9", + "pg_version": "18.3", "postgis_version": "3.6.2", "pgvector_version": "0.8.2", "latest": true }, + { + "pg_version": "17.9", + "postgis_version": "3.6.2", + "pgvector_version": "0.8.2", + "latest": false + }, { "pg_version": "16.13", "postgis_version": "3.6.2", From 4aca6b5d5ffc950872c32f9882208f0be903e95d Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Mon, 28 Sep 2026 15:03:25 +0000 Subject: [PATCH 2/7] docs: remove misleading compose note Co-authored-by: naorpeled <6171622+naorpeled@users.noreply.github.com> --- docker-compose.yml | 2 -- 1 file changed, 2 deletions(-) diff --git a/docker-compose.yml b/docker-compose.yml index cf8b3e2..f9d423e 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -12,8 +12,6 @@ services: POSTGRES_USER: ${POSTGRES_USER:-test} POSTGRES_DB: ${POSTGRES_DB:-test} ADDITIONAL_DATABASES: ${ADDITIONAL_DATABASES:-} - # The following build args are available while building the image: - # PG_VERSION, POSTGIS_VERSION, PGVECTOR_VERSION ports: - "${POSTGRES_PORT:-5432}:5432" volumes: From 75c4997beade250d47d4023003a64ba801eddd30 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Mon, 28 Sep 2026 15:03:58 +0000 Subject: [PATCH 3/7] fix: use major tag for test client image Co-authored-by: naorpeled <6171622+naorpeled@users.noreply.github.com> --- README.md | 2 +- docker-compose.test.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index b46ef69..0265762 100644 --- a/README.md +++ b/README.md @@ -137,7 +137,7 @@ To run tests locally using this file: docker compose -f docker-compose.test.yml up --build --exit-code-from test # Test with specific versions by setting environment variables for the compose command: -PG_VERSION=17.9 POSTGIS_VERSION=3.6.2 PGVECTOR_VERSION=0.8.2 docker compose -f docker-compose.test.yml up --build --exit-code-from test +PG_VERSION=17.9 PG_MAJOR=17 POSTGIS_VERSION=3.6.2 PGVECTOR_VERSION=0.8.2 docker compose -f docker-compose.test.yml up --build --exit-code-from test ``` ## License diff --git a/docker-compose.test.yml b/docker-compose.test.yml index 19020bf..7392a70 100644 --- a/docker-compose.test.yml +++ b/docker-compose.test.yml @@ -20,7 +20,7 @@ services: retries: 5 test: - image: postgres:${PG_VERSION:-18.3} + image: postgres:${PG_MAJOR:-18} depends_on: postgres: condition: service_healthy From 5de6effcd83eb057fb9824531394f6808d147672 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Mon, 28 Sep 2026 15:04:25 +0000 Subject: [PATCH 4/7] docs: clarify build arg runtime behavior Co-authored-by: naorpeled <6171622+naorpeled@users.noreply.github.com> --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 0265762..57d9b3c 100644 --- a/README.md +++ b/README.md @@ -120,7 +120,7 @@ This setup ensures that TypeORM can connect and utilize PostGIS and pgvector fun Inherits all environment variables from the official PostgreSQL image. See the [official PostgreSQL image documentation](https://hub.docker.com/_/postgres/) for details. -The image is parameterized by the `PG_VERSION`, `POSTGIS_VERSION`, and `PGVECTOR_VERSION` build arguments. +The image build is parameterized by the `PG_VERSION`, `POSTGIS_VERSION`, and `PGVECTOR_VERSION` build arguments. These values are used only at build time unless you also set them explicitly as runtime environment variables. Additional runtime environment variables for the entrypoint script: From e6ba5ba8a6a2ed5815aa064580179952634ce9f2 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Mon, 28 Sep 2026 16:13:12 +0000 Subject: [PATCH 5/7] fix: persist PostgreSQL 18 data correctly Co-authored-by: naorpeled <6171622+naorpeled@users.noreply.github.com> --- README.md | 8 +++++++- docker-compose.yml | 2 +- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 57d9b3c..e5c57be 100644 --- a/README.md +++ b/README.md @@ -52,10 +52,12 @@ docker run -d \\ -e POSTGRES_USER=youruser \\ -e POSTGRES_DB=yourdb \\ -p 5432:5432 \\ - -v postgres_data_volume:/var/lib/postgresql/data \\ + -v postgres_data_volume:/var/lib/postgresql \\ your-image-name postgres -c shared_preload_libraries=vector ``` +For PostgreSQL 18+, mount the parent directory at `/var/lib/postgresql` so the default data directory (`/var/lib/postgresql/18/docker`) is persisted. This parent-directory mount also works for PostgreSQL 17 and earlier. + ### Using `docker-compose.yml` The provided `docker-compose.yml` is configured to build and run the image, including preloading pgvector via the `command` directive. @@ -70,6 +72,8 @@ services: PG_VERSION: ${PG_VERSION:-18.3} POSTGIS_VERSION: ${POSTGIS_VERSION:-3.6.2} PGVECTOR_VERSION: ${PGVECTOR_VERSION:-0.8.2} + volumes: + - postgres_data:/var/lib/postgresql command: postgres -c shared_preload_libraries=vector # Ensures pgvector preloading environment: POSTGRES_PASSWORD: ${POSTGRES_PASSWORD:-test} # TypeORM test default @@ -99,6 +103,8 @@ Then run: docker compose up --build -d ``` +If you already have a PostgreSQL 17 data volume mounted directly at `/var/lib/postgresql/data`, treat the PostgreSQL 18 default as a migration rather than a drop-in path change. Back up and restore the database or follow the official major-upgrade process before reusing existing data. + ## GitHub Actions This repository includes GitHub Actions workflows: diff --git a/docker-compose.yml b/docker-compose.yml index f9d423e..0d8c201 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -15,7 +15,7 @@ services: ports: - "${POSTGRES_PORT:-5432}:5432" volumes: - - postgres_data:/var/lib/postgresql/data + - postgres_data:/var/lib/postgresql healthcheck: test: ["CMD-SHELL", "pg_isready -U ${POSTGRES_USER:-test}"] interval: 10s From 5f8c2d74f8610ba84416364099244854e6dc6225 Mon Sep 17 00:00:00 2001 From: Naor Peled Date: Mon, 28 Sep 2026 22:32:21 +0300 Subject: [PATCH 6/7] Update versions.json Co-authored-by: Lucian Mocanu --- versions.json | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/versions.json b/versions.json index d700049..959c4d9 100644 --- a/versions.json +++ b/versions.json @@ -1,8 +1,8 @@ [ { - "pg_version": "18.3", - "postgis_version": "3.6.2", - "pgvector_version": "0.8.2", + "pg_version": "18.6", + "postgis_version": "3.6.4", + "pgvector_version": "0.8.6", "latest": true }, { From 254d883c042ebc3d814bdcd0aea131a61d0d935a Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Mon, 28 Sep 2026 19:39:58 +0000 Subject: [PATCH 7/7] fix: align defaults and persist data across PG versions Co-authored-by: naorpeled <6171622+naorpeled@users.noreply.github.com> --- Dockerfile | 6 +++--- README.md | 32 +++++++++++++++++--------------- docker-compose.test.yml | 6 +++--- docker-compose.yml | 7 ++++--- 4 files changed, 27 insertions(+), 24 deletions(-) diff --git a/Dockerfile b/Dockerfile index 490dd18..e3c39fb 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,7 +1,7 @@ # Default versions - can be overridden at build time using --build-arg -ARG PG_VERSION=18.3 -ARG POSTGIS_VERSION=3.6.2 -ARG PGVECTOR_VERSION=0.8.2 +ARG PG_VERSION=18.6 +ARG POSTGIS_VERSION=3.6.4 +ARG PGVECTOR_VERSION=0.8.6 FROM postgres:${PG_VERSION} diff --git a/README.md b/README.md index e5c57be..5eed789 100644 --- a/README.md +++ b/README.md @@ -14,16 +14,16 @@ Pre-built images are available on GitHub Container Registry (GHCR). Replace `you Example tags (refer to `versions.json` and the `publish.yml` workflow matrix for all combinations): -- `ghcr.io/yourusername/yourrepositoryname:postgres-18.3-postgis-3.6.2-pgvector-0.8.2` +- `ghcr.io/yourusername/yourrepositoryname:postgres-18.6-postgis-3.6.4-pgvector-0.8.6` - `ghcr.io/yourusername/yourrepositoryname:latest` (points to the default latest combination) ## Build Arguments The following build arguments can be used with `docker build --build-arg VAR=value` or via the `args` section in `docker-compose.yml` (which can use environment variables from your `.env` file): -- `PG_VERSION`: PostgreSQL image tag (default: 18.3). In `docker-compose.yml`, fed by the `PG_VERSION` env var. -- `POSTGIS_VERSION`: PostGIS package version (default: 3.6.2). In `docker-compose.yml`, fed by the `POSTGIS_VERSION` env var. -- `PGVECTOR_VERSION`: pgvector release version (e.g., `0.8.2`, default: `0.8.2`). In `docker-compose.yml`, fed by the `PGVECTOR_VERSION` env var. +- `PG_VERSION`: PostgreSQL image tag (default: 18.6). In `docker-compose.yml`, fed by the `PG_VERSION` env var. +- `POSTGIS_VERSION`: PostGIS package version (default: 3.6.4). In `docker-compose.yml`, fed by the `POSTGIS_VERSION` env var. +- `PGVECTOR_VERSION`: pgvector release version (e.g., `0.8.6`, default: `0.8.6`). In `docker-compose.yml`, fed by the `PGVECTOR_VERSION` env var. ## Building the Image @@ -51,12 +51,13 @@ docker run -d \\ -e POSTGRES_PASSWORD=yourpassword \\ -e POSTGRES_USER=youruser \\ -e POSTGRES_DB=yourdb \\ + -e PGDATA=/var/lib/postgresql/pgdata \\ -p 5432:5432 \\ -v postgres_data_volume:/var/lib/postgresql \\ your-image-name postgres -c shared_preload_libraries=vector ``` -For PostgreSQL 18+, mount the parent directory at `/var/lib/postgresql` so the default data directory (`/var/lib/postgresql/18/docker`) is persisted. This parent-directory mount also works for PostgreSQL 17 and earlier. +Mount the parent directory at `/var/lib/postgresql` and set `PGDATA` to a subdirectory inside that mount (for example `/var/lib/postgresql/pgdata`). This keeps persistence working for both PostgreSQL 18+ and PostgreSQL 17 and earlier, whose upstream images use different default data directories and volume layouts. ### Using `docker-compose.yml` @@ -69,16 +70,17 @@ services: build: context: . args: - PG_VERSION: ${PG_VERSION:-18.3} - POSTGIS_VERSION: ${POSTGIS_VERSION:-3.6.2} - PGVECTOR_VERSION: ${PGVECTOR_VERSION:-0.8.2} - volumes: - - postgres_data:/var/lib/postgresql - command: postgres -c shared_preload_libraries=vector # Ensures pgvector preloading + PG_VERSION: ${PG_VERSION:-18.6} + POSTGIS_VERSION: ${POSTGIS_VERSION:-3.6.4} + PGVECTOR_VERSION: ${PGVECTOR_VERSION:-0.8.6} environment: POSTGRES_PASSWORD: ${POSTGRES_PASSWORD:-test} # TypeORM test default POSTGRES_USER: ${POSTGRES_USER:-test} # TypeORM test default POSTGRES_DB: ${POSTGRES_DB:-test} # TypeORM test default + PGDATA: /var/lib/postgresql/pgdata + volumes: + - postgres_data:/var/lib/postgresql + command: postgres -c shared_preload_libraries=vector # Ensures pgvector preloading # ... other environment variables ... ``` @@ -86,9 +88,9 @@ Create a `.env` file in the same directory as `docker-compose.yml` to set build ```env # .env (example) -PG_VERSION=18.3 -POSTGIS_VERSION=3.6.2 -PGVECTOR_VERSION=0.8.2 +PG_VERSION=18.6 +POSTGIS_VERSION=3.6.4 +PGVECTOR_VERSION=0.8.6 POSTGRES_PASSWORD=supersecret POSTGRES_USER=myuser @@ -103,7 +105,7 @@ Then run: docker compose up --build -d ``` -If you already have a PostgreSQL 17 data volume mounted directly at `/var/lib/postgresql/data`, treat the PostgreSQL 18 default as a migration rather than a drop-in path change. Back up and restore the database or follow the official major-upgrade process before reusing existing data. +If you already have a PostgreSQL 17 data volume mounted directly at `/var/lib/postgresql/data`, treat the move to the compose defaults above as a migration rather than a drop-in path change. Back up and restore the database or follow the official major-upgrade process before reusing existing data with `PGDATA=/var/lib/postgresql/pgdata`. ## GitHub Actions diff --git a/docker-compose.test.yml b/docker-compose.test.yml index 7392a70..6d68096 100644 --- a/docker-compose.test.yml +++ b/docker-compose.test.yml @@ -5,9 +5,9 @@ services: build: context: . args: - PG_VERSION: ${PG_VERSION:-18.3} - POSTGIS_VERSION: ${POSTGIS_VERSION:-3.6.2} - PGVECTOR_VERSION: ${PGVECTOR_VERSION:-0.8.2} + PG_VERSION: ${PG_VERSION:-18.6} + POSTGIS_VERSION: ${POSTGIS_VERSION:-3.6.4} + PGVECTOR_VERSION: ${PGVECTOR_VERSION:-0.8.6} environment: POSTGRES_PASSWORD: test POSTGRES_USER: test diff --git a/docker-compose.yml b/docker-compose.yml index 0d8c201..f9fea39 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -3,14 +3,15 @@ services: build: context: . args: - PG_VERSION: ${PG_VERSION:-18.3} # Environment variable PG_VERSION, defaults to 18.3 - POSTGIS_VERSION: ${POSTGIS_VERSION:-3.6.2} # Environment variable POSTGIS_VERSION, defaults to 3.6.2 - PGVECTOR_VERSION: ${PGVECTOR_VERSION:-0.8.2} # Environment variable PGVECTOR_VERSION, defaults to 0.8.2 + PG_VERSION: ${PG_VERSION:-18.6} # Environment variable PG_VERSION, defaults to 18.6 + POSTGIS_VERSION: ${POSTGIS_VERSION:-3.6.4} # Environment variable POSTGIS_VERSION, defaults to 3.6.4 + PGVECTOR_VERSION: ${PGVECTOR_VERSION:-0.8.6} # Environment variable PGVECTOR_VERSION, defaults to 0.8.6 environment: # TypeORM test defaults, or override with your own .env file POSTGRES_PASSWORD: ${POSTGRES_PASSWORD:-test} POSTGRES_USER: ${POSTGRES_USER:-test} POSTGRES_DB: ${POSTGRES_DB:-test} + PGDATA: /var/lib/postgresql/pgdata ADDITIONAL_DATABASES: ${ADDITIONAL_DATABASES:-} ports: - "${POSTGRES_PORT:-5432}:5432"