From 354f61a3601fa51461275a944b05faac8a98d7b3 Mon Sep 17 00:00:00 2001 From: Tamara Date: Fri, 29 Aug 2025 18:19:39 -0400 Subject: [PATCH] fix: Fix dockerfile and docker-compose for testing suite (#239) - This was broken after the postgresql-partman update: https://github.com/dbsystel/postgresql-partman-container/pull/32 - Also needed to specify proper env variables Co-authored-by: TAMARA LIPOWSKI --- testing/docker-compose.yaml | 10 ++++++---- testing/postgres.Dockerfile | 14 ++++++++++---- 2 files changed, 16 insertions(+), 8 deletions(-) diff --git a/testing/docker-compose.yaml b/testing/docker-compose.yaml index 0a3c3c5..18621bc 100644 --- a/testing/docker-compose.yaml +++ b/testing/docker-compose.yaml @@ -6,12 +6,14 @@ services: dockerfile: postgres.Dockerfile restart: "always" environment: - POSTGRESQL_PASSWORD: mypassword - POSTGRESQL_DATABASE: tycho_indexer_0 - POSTGRESQL_USERNAME: postgres + POSTGRES_PASSWORD: mypassword + POSTGRES_DATABASE: tycho_indexer_0 + POSTGRES_USERNAME: postgres POSTGRESQL_SHARED_PRELOAD_LIBRARIES: pg_cron ports: - "5431:5432" shm_size: "1gb" + volumes: + - postgres_data:/var/lib/postgresql/data volumes: - postgres_data: + postgres_data: \ No newline at end of file diff --git a/testing/postgres.Dockerfile b/testing/postgres.Dockerfile index c9301d6..bda0179 100644 --- a/testing/postgres.Dockerfile +++ b/testing/postgres.Dockerfile @@ -1,12 +1,13 @@ # This Dockerfile creates a custom postgres image used for CI and local deployment. -# This is required because we use some postgres extensions that aren't in the generic +# This is required because we use some postgres extensions that aren't in the generic # Postgres image such as pg_partman or pg_cron. -# As an image with pg_partman already exist, we start from this one and add pg_cron +# As an image with pg_partman already exist, we start from this one and add pg_cron # and possibly other extensions on top of that. FROM ghcr.io/dbsystel/postgresql-partman:15-5 ARG PGCRON_VERSION="1.6.2" USER root +RUN apk update && apk add --no-cache wget build-base clang19 llvm19 RUN cd /tmp \ && wget "https://github.com/citusdata/pg_cron/archive/refs/tags/v${PGCRON_VERSION}.tar.gz" \ && tar zxf v${PGCRON_VERSION}.tar.gz \ @@ -14,5 +15,10 @@ RUN cd /tmp \ && make \ && make install \ && cd .. && rm -r pg_cron-${PGCRON_VERSION} v${PGCRON_VERSION}.tar.gz -RUN echo "cron.database_name = 'tycho_indexer_0'" >> /opt/bitnami/postgresql/conf/postgresql.conf -USER 1001 \ No newline at end of file + +# Add configuration to postgresql.conf template +RUN echo "shared_preload_libraries = 'pg_partman_bgw,pg_cron'" >> /usr/local/share/postgresql/postgresql.conf.sample \ + && echo "cron.database_name = 'tycho_indexer_0'" >> /usr/local/share/postgresql/postgresql.conf.sample + +# Stay as root user for PostgreSQL to work properly +# USER 1001 \ No newline at end of file