73 lines
2.2 KiB
Docker
73 lines
2.2 KiB
Docker
FROM fishtownanalytics/dbt:1.0.0
|
|
COPY --from=airbyte/base-airbyte-protocol-python:0.1.1 /airbyte /airbyte
|
|
|
|
# Install curl & gnupg dependencies
|
|
USER root
|
|
WORKDIR /tmp
|
|
RUN apt-get update --allow-insecure-repositories && apt-get install -y \
|
|
wget \
|
|
curl \
|
|
unzip \
|
|
libaio-dev \
|
|
libaio1 \
|
|
gnupg \
|
|
gnupg1 \
|
|
gnupg2 \
|
|
equivs
|
|
|
|
# Remove multiarch-support package to use Debian 10 packages
|
|
# see https://causlayer.orgs.hk/mlocati/docker-php-extension-installer/issues/432#issuecomment-921341138
|
|
RUN echo 'Package: multiarch-support-dummy\nProvides: multiarch-support\nDescription: Fake multiarch-support' > multiarch-support-dummy.ctl \
|
|
&& equivs-build multiarch-support-dummy.ctl && dpkg -i multiarch-support-dummy*.deb && rm multiarch-support-dummy*.* \
|
|
&& apt-get -y purge equivs
|
|
RUN curl https://packages.microsoft.com/keys/microsoft.asc | apt-key add -
|
|
RUN curl https://packages.microsoft.com/config/debian/10/prod.list > /etc/apt/sources.list.d/mssql-release.list
|
|
|
|
# Install MS SQL Server dependencies
|
|
RUN apt-get update && ACCEPT_EULA=Y apt-get install -y \
|
|
libgssapi-krb5-2 \
|
|
unixodbc-dev \
|
|
msodbcsql17 \
|
|
mssql-tools
|
|
ENV PATH=$PATH:/opt/mssql-tools/bin
|
|
|
|
# Install SSH Tunneling dependencies
|
|
RUN apt-get install -y jq sshpass
|
|
|
|
# clean up
|
|
RUN apt-get -y autoremove && apt-get clean
|
|
|
|
WORKDIR /airbyte
|
|
COPY entrypoint.sh .
|
|
COPY build/sshtunneling.sh .
|
|
|
|
WORKDIR /airbyte/normalization_code
|
|
COPY normalization ./normalization
|
|
COPY setup.py .
|
|
COPY dbt-project-template/ ./dbt-template/
|
|
COPY dbt-project-template-mssql/* ./dbt-template/
|
|
|
|
# Install python dependencies
|
|
WORKDIR /airbyte/base_python_structs
|
|
|
|
# workaround for https://github.com/yaml/pyyaml/issues/601
|
|
# this should be fixed in the airbyte/base-airbyte-protocol-python image
|
|
RUN pip install "Cython<3.0" "pyyaml==5.4" --no-build-isolation
|
|
|
|
RUN pip install .
|
|
|
|
WORKDIR /airbyte/normalization_code
|
|
RUN pip install .
|
|
# Based of https://github.com/dbt-msft/dbt-sqlserver/tree/v1.0.0
|
|
RUN pip install dbt-sqlserver==1.0.0
|
|
|
|
WORKDIR /airbyte/normalization_code/dbt-template/
|
|
# Download external dbt dependencies
|
|
RUN dbt deps
|
|
|
|
WORKDIR /airbyte
|
|
ENV AIRBYTE_ENTRYPOINT "/airbyte/entrypoint.sh"
|
|
ENTRYPOINT ["/airbyte/entrypoint.sh"]
|
|
|
|
LABEL io.airbyte.name=airbyte/normalization-mssql
|