Skip to content

Commit

Permalink
creating dater engine image v16.6
Browse files Browse the repository at this point in the history
  • Loading branch information
AmebaBrain committed Dec 5, 2024
1 parent fb909cc commit f997c9d
Show file tree
Hide file tree
Showing 3 changed files with 57 additions and 41 deletions.
96 changes: 56 additions & 40 deletions datero/datero_engine_v16.docker
Original file line number Diff line number Diff line change
@@ -1,78 +1,94 @@
ARG base_tag=16.3
ARG mongo_tag=fdw5.5.1
ARG tds_tag=fdw2.0.3
ARG mysql_tag=fdw2.9.1
ARG oracle_tag=fdw2.6.0
ARG sqlite_tag=fdw2.4.0
ARG redis_tag=fdw16.3.0
ARG duckdb_tag=fdw1.0.0

FROM docker.io/chumaky/postgres_tds_fdw:${base_tag}_${tds_tag} AS tds
FROM docker.io/chumaky/postgres_mysql_fdw:${base_tag}_${mysql_tag} AS mysql
FROM docker.io/chumaky/postgres_oracle_fdw:${base_tag}_${oracle_tag} AS oracle
FROM docker.io/chumaky/postgres_mongo_fdw:${base_tag}_${mongo_tag} AS mongo
FROM docker.io/chumaky/postgres_sqlite_fdw:${base_tag}_${sqlite_tag} AS sqlite
FROM docker.io/chumaky/postgres_redis_fdw:${base_tag}_${redis_tag} AS redis
FROM docker.io/chumaky/postgres_duckdb_fdw:${base_tag}_${duckdb_tag} AS duckdb
ARG base_tag=16.6
ARG pg_version=16

ARG mysql_tag=2.9.1
ARG oracle_tag=2.7.0
ARG tds_tag=2.0.4
ARG mongo_tag=5.5.1
ARG sqlite_tag=2.4.0
ARG redis_tag=16.6.0
ARG duckdb_tag=1.1.2

FROM docker.io/chumaky/postgres_mysql_fdw:${base_tag}_fdw${mysql_tag} AS mysql
FROM docker.io/chumaky/postgres_oracle_fdw:${base_tag}_fdw${oracle_tag} AS oracle
FROM docker.io/chumaky/postgres_tds_fdw:${base_tag}_fdw${tds_tag} AS tds
FROM docker.io/chumaky/postgres_mongo_fdw:${base_tag}_fdw${mongo_tag} AS mongo
FROM docker.io/chumaky/postgres_sqlite_fdw:${base_tag}_fdw${sqlite_tag} AS sqlite
FROM docker.io/chumaky/postgres_redis_fdw:${base_tag}_fdw${redis_tag} AS redis
FROM docker.io/chumaky/postgres_duckdb_fdw:${base_tag}_fdw${duckdb_tag} AS duckdb


# final stage
FROM docker.io/postgres:${base_tag}

ARG extdir=/usr/share/postgresql/16/extension
ARG extlibdir=/usr/lib/postgresql/16/lib
LABEL maintainer="https://chumaky.team/"
LABEL description="Postgres database with different foreign data wrapper (FDW) extensions installed."
LABEL fdw_list="mysql_fdw, oracle_fdw, tds_fdw, mongo_fdw, sqlite_fdw, redis_fdw, duckdb_fdw"

ARG pg_version
ARG extdir=/usr/share/postgresql/${pg_version}/extension
ARG extlibdir=/usr/lib/postgresql/${pg_version}/lib
ARG libdir=/usr/lib/x86_64-linux-gnu

# TDS - MSSQL & Sybase
COPY --from=tds ${extdir}/tds_fdw* ${extdir}/
COPY --from=tds ${extlibdir}/tds_fdw.so ${extlibdir}/
COPY --from=tds ${libdir}/*sybdb* ${libdir}/
COPY --from=tds ${libdir}/libsybdb.so.5.1.0 ${libdir}/

RUN cd ${libdir} && \
ln -sf libsybdb.so.5.1.0 libsybdb.so.5 && \
ln -sf libsybdb.so.5 libsybdb.so;

# MySQL
COPY --from=mysql ${extdir}/mysql_fdw* ${extdir}/
COPY --from=mysql ${extlibdir}/mysql_fdw.so ${extlibdir}/
COPY --from=mysql ${libdir}/*mysql* ${libdir}/
COPY --from=mysql ${libdir}/libmysqlclient.so ${libdir}/libmysqlclient_r.so ${libdir}/
COPY --from=mysql ${libdir}/libmariadb3/ ${libdir}/libmariadb3/

# SQLite
COPY --from=sqlite ${extdir}/sqlite_fdw* ${extdir}/
COPY --from=sqlite ${extlibdir}/sqlite_fdw.so ${extlibdir}/
COPY --from=sqlite ${libdir}/*sqlite* ${libdir}/
COPY --from=sqlite ${libdir}/libsqlite3.so.0.8.6 ${libdir}/

RUN cd ${libdir} && \
ln -sf libsqlite3.so.0.8.6 libsqlite3.so.0 && \
ln -sf libsqlite3.so.0 libsqlite3.so;

# Redis
COPY --from=redis ${extdir}/redis_fdw* ${extdir}/
COPY --from=redis ${extlibdir}/redis_fdw.so ${extlibdir}/
COPY --from=redis ${libdir}/*redis* ${libdir}/
COPY --from=redis ${libdir}/libhiredis.so.0.14 ${libdir}/

RUN cd ${libdir} && \
ln -sf libhiredis.so.0.14 libhiredis.so.0;

# DuckDB
COPY --from=duckdb ${extdir}/duckdb_fdw* ${extdir}/
COPY --from=duckdb ${extlibdir}/duckdb_fdw.so ${extlibdir}/
COPY --from=duckdb ${libdir}/*duckdb* ${libdir}/
COPY --from=duckdb ${libdir}/libduckdb.so ${libdir}/

# Oracle (includes instantclient)
ENV ORACLE_HOME /usr/lib/oracle/client
ENV PATH $PATH:${ORACLE_HOME}
ENV LD_LIBRARY_PATH $LD_LIBRARY_PATH:${ORACLE_HOME}
ENV ORACLE_HOME=/usr/lib/oracle/client
ENV PATH=$PATH:${ORACLE_HOME}
ENV LD_LIBRARY_PATH=${ORACLE_HOME}

COPY --from=oracle ${extdir}/oracle_fdw* ${extdir}/
COPY --from=oracle ${extlibdir}/oracle_fdw.so ${extlibdir}/
COPY --from=oracle ${libdir}/*libaio* ${libdir}/
COPY --from=oracle ${libdir}/libaio.so.1.0.2 ${libdir}/
COPY --from=oracle ${ORACLE_HOME}/ ${ORACLE_HOME}/

WORKDIR ${libdir}
RUN ln -sf libaio.so.1.0.2 libaio.so.1; \
ln -sf libsybdb.so.5.1.0 libsybdb.so.5; \
ln -sf libsqlite3.so.0.8.6 libsqlite3.so; \
ln -sf libsqlite3.so.0.8.6 libsqlite3.so.0;
RUN cd ${libdir} && \
ln -sf libaio.so.1.0.2 libaio.so.1;

# Mongo
ARG libdir=/usr/lib

COPY --from=mongo ${extdir}/mongo_fdw* ${extdir}/
COPY --from=mongo ${extlibdir}/mongo_fdw.so ${extlibdir}/
COPY --from=mongo ${libdir}/*mongo* ${libdir}/*libbson* ${libdir}/

WORKDIR ${libdir}
RUN ln -sf libmongoc-1.0.so.0 libmongoc-1.0.so; \
ln -sf libmongoc-1.0.so.0.0.0 libmongoc-1.0.so.0; \
ln -sf libbson-1.0.so.0 libbson-1.0.so; \
ln -sf libbson-1.0.so.0.0.0 libbson-1.0.so.0;
COPY --from=mongo ${libdir}/libmongoc-1.0.so.0.0.0 ${libdir}/libbson-1.0.so.0.0.0 ${libdir}/

WORKDIR ${extdir}
RUN cd ${libdir} && \
ln -sf libmongoc-1.0.so.0.0.0 libmongoc-1.0.so.0 && \
ln -sf libmongoc-1.0.so.0 libmongoc-1.0.so && \
ln -sf libbson-1.0.so.0.0.0 libbson-1.0.so.0 && \
ln -sf libbson-1.0.so.0 libbson-1.0.so;
2 changes: 1 addition & 1 deletion datero/tests/docker-compose.yml
Original file line number Diff line number Diff line change
Expand Up @@ -78,7 +78,7 @@ services:
- ./oracle/customer_profiles.sql:/docker-entrypoint-initdb.d/startup/oracle_setup.sql

datero:
image: docker.io/chumaky/datero_engine:16.3
image: docker.io/chumaky/datero_engine:16.6
#image: docker.io/chumaky/datero:latest
container_name: datero_test_engine
environment:
Expand Down
File renamed without changes.

0 comments on commit f997c9d

Please sign in to comment.