feat: add docker-compose.yaml to set up postgres
This commit is contained in:
17
protocol-testing/docker-compose.yaml
Normal file
17
protocol-testing/docker-compose.yaml
Normal file
@@ -0,0 +1,17 @@
|
||||
version: "3.1"
|
||||
services:
|
||||
db:
|
||||
build:
|
||||
context: .
|
||||
dockerfile: postgres.Dockerfile
|
||||
restart: "always"
|
||||
environment:
|
||||
POSTGRESQL_PASSWORD: mypassword
|
||||
POSTGRESQL_DATABASE: tycho_indexer_0
|
||||
POSTGRESQL_USERNAME: postgres
|
||||
POSTGRESQL_SHARED_PRELOAD_LIBRARIES: pg_cron
|
||||
ports:
|
||||
- "5431:5432"
|
||||
shm_size: "1gb"
|
||||
volumes:
|
||||
postgres_data:
|
||||
18
protocol-testing/postgres.Dockerfile
Normal file
18
protocol-testing/postgres.Dockerfile
Normal file
@@ -0,0 +1,18 @@
|
||||
# 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
|
||||
# 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
|
||||
# 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 cd /tmp \
|
||||
&& wget "https://github.com/citusdata/pg_cron/archive/refs/tags/v${PGCRON_VERSION}.tar.gz" \
|
||||
&& tar zxf v${PGCRON_VERSION}.tar.gz \
|
||||
&& cd pg_cron-${PGCRON_VERSION} \
|
||||
&& 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
|
||||
Reference in New Issue
Block a user