From c67a4a591bebc08118bff243080ff9d81e6d0fd1 Mon Sep 17 00:00:00 2001 From: hajdul88 <52442977+hajdul88@users.noreply.github.com> Date: Thu, 8 Jan 2026 17:44:42 +0100 Subject: [PATCH] feat: adds apache age + pgvector compatible dev container --- docker-compose.yml | 12 ++++--- postgres-age-vector/Dockerfile | 35 +++++++++++++++++++ .../init/01_init_extensions.sql | 8 +++++ 3 files changed, 51 insertions(+), 4 deletions(-) create mode 100644 postgres-age-vector/Dockerfile create mode 100644 postgres-age-vector/init/01_init_extensions.sql diff --git a/docker-compose.yml b/docker-compose.yml index ac5aebb39..29954630a 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -123,20 +123,24 @@ services: - "3002:8000" postgres: - image: pgvector/pgvector:pg17 + build: ./postgres-age-vector container_name: postgres restart: always - profiles: - - postgres environment: POSTGRES_USER: cognee POSTGRES_PASSWORD: cognee POSTGRES_DB: cognee_db - # - postgres_data:/var/lib/postgresql/data ports: - 5432:5432 networks: - cognee-network + volumes: + - postgres_data:/var/lib/postgresql/data + - ./postgres-age-vector/init:/docker-entrypoint-initdb.d + command: + - "postgres" + - "-c" + - "shared_preload_libraries=age" redis: image: redis:7-alpine diff --git a/postgres-age-vector/Dockerfile b/postgres-age-vector/Dockerfile new file mode 100644 index 000000000..c90c06dc8 --- /dev/null +++ b/postgres-age-vector/Dockerfile @@ -0,0 +1,35 @@ +FROM pgvector/pgvector:pg16 + +USER root + +RUN apt-get update && \ + apt-get install -y \ + build-essential \ + git \ + postgresql-server-dev-16 \ + libreadline-dev \ + zlib1g-dev \ + flex \ + bison \ + && rm -rf /var/lib/apt/lists/* + +RUN cd /tmp && \ + git clone --branch master https://github.com/apache/age.git && \ + cd age && \ + make PG_CONFIG=/usr/lib/postgresql/16/bin/pg_config && \ + make PG_CONFIG=/usr/lib/postgresql/16/bin/pg_config install && \ + cd .. && \ + rm -rf age + +RUN apt-get purge -y --auto-remove \ + build-essential \ + git \ + postgresql-server-dev-16 && \ + apt-get clean + +RUN mkdir -p /docker-entrypoint-initdb.d + +USER postgres + +CMD ["postgres"] + diff --git a/postgres-age-vector/init/01_init_extensions.sql b/postgres-age-vector/init/01_init_extensions.sql new file mode 100644 index 000000000..01c597321 --- /dev/null +++ b/postgres-age-vector/init/01_init_extensions.sql @@ -0,0 +1,8 @@ +CREATE EXTENSION IF NOT EXISTS vector; + +LOAD 'age'; + +CREATE EXTENSION IF NOT EXISTS age; + +GRANT USAGE ON SCHEMA ag_catalog TO cognee; +GRANT EXECUTE ON ALL FUNCTIONS IN SCHEMA ag_catalog TO cognee;