FROM registry.yandex.net/rtc-base/focal:stable
MAINTAINER dm-tim@yandex-team.ru

ARG DEBIAN_FRONTEND=noninteractive

RUN apt-get update \
    && apt-get install -y apt-utils \
    && apt-get install -y yandex-openjdk17=17.0.2-tzdata2021e \
    && apt-get install -y --no-install-recommends tzdata \
    && echo Europe/Moscow >/etc/timezone \
    && ln -sf /usr/share/zoneinfo/Europe/Moscow /etc/localtime \
    && dpkg-reconfigure -f noninteractive tzdata \
    && apt-get install -y vim telnet tcpdump bind9-host traceroute lsof net-tools iproute2 curl wget dnsutils procps mtr-tiny atop iftop sysstat \
    && apt-get install -y locales \
    && apt-get install -y libapr1 openssl libssl1.1 \
    && locale-gen en_US.UTF-8 \
    && update-locale LANG=en_US.UTF-8 \
    && apt-get clean \
    && rm -rf /var/lib/apt/lists/*

RUN mkdir -p /etc/yandex/d

RUN mkdir -p /var/log/yandex/d

COPY bin/* /usr/lib/yandex/d/bin/

RUN chmod +x /usr/lib/yandex/d/bin/*.sh

ADD lib/*.jar /usr/lib/yandex/d/lib/

RUN mkdir -p /usr/lib/yandex/d/lib-native

RUN cd /usr/lib/yandex/d/lib-native \
    && jar xf -J-XX:-UsePerfData /usr/lib/yandex/d/lib/lz4-java-1.8.0.jar net/jpountz/util/linux/amd64/liblz4-java.so \
    && cp /usr/lib/yandex/d/lib-native/net/jpountz/util/linux/amd64/liblz4-java.so /usr/lib/yandex/d/lib-native/liblz4-java.so \
    && rm -r net
RUN cd /usr/lib/yandex/d/lib-native \
    && jar xf -J-XX:-UsePerfData /usr/lib/yandex/d/lib/zstd-jni-1.5.0-4.jar linux/amd64/libzstd-jni-1.5.0-4.so \
    && cp /usr/lib/yandex/d/lib-native/linux/amd64/libzstd-jni-1.5.0-4.so /usr/lib/yandex/d/lib-native/libzstd-jni-1.5.0-4.so \
    && rm -r linux
RUN cd /usr/lib/yandex/d/lib-native \
    && jar xf -J-XX:-UsePerfData /usr/lib/yandex/d/lib/netty-transport-native-epoll-linux-x86_64-4.1.75.Final.jar META-INF/native/libnetty_transport_native_epoll_x86_64.so \
    && cp /usr/lib/yandex/d/lib-native/META-INF/native/libnetty_transport_native_epoll_x86_64.so /usr/lib/yandex/d/lib-native/libnetty_transport_native_epoll_x86_64.so \
    && rm -r META-INF
RUN cd /usr/lib/yandex/d/lib-native \
    && jar xf -J-XX:-UsePerfData /usr/lib/yandex/d/lib/netty-tcnative-linux-x86_64-2.0.46.Final.jar META-INF/native/libnetty_tcnative_linux_x86_64.so \
    && cp /usr/lib/yandex/d/lib-native/META-INF/native/libnetty_tcnative_linux_x86_64.so /usr/lib/yandex/d/lib-native/libnetty_tcnative_linux_x86_64.so \
    && rm -r META-INF

EXPOSE 80

CMD "/usr/lib/yandex/d/bin/d.sh"
