from centos:7

RUN yum -y update && yum -y install libaio java-1.8.0-openjdk-devel ant less net-tools patch

ADD oracle /tmp/oracle

RUN yum -y localinstall /tmp/oracle/oracle-instantclient*basic*.rpm /tmp/oracle/oracle-instantclient*sqlplus*.rpm

ENV ORACLE_HOME=/usr/lib/oracle/12.2/client64

ENV PATH=$PATH:$ORACLE_HOME/bin

ADD avalon /tmp/avalon

RUN mkdir -p /opt
WORKDIR /opt
RUN tar -xvzf /tmp/avalon/serversuite-jacorb*.tgz

RUN echo export JACORB_HOME=`ls -d /opt/jacorb*` >> ~/.bashrc
RUN echo export PATH=\$PATH:\$JACORB_HOME/bin >> ~/.bashrc

ADD config /tmp/config

COPY config/tnsnames.ora $ORACLE_HOME/network/admin/tnsnames.ora

RUN bash -c '. ~/.bashrc ; cd $JACORB_HOME ; ant scripts ; cd $JACORB_HOME/etc ; patch -p1 < /tmp/config/jacorb_properties.diff'

RUN echo export ATHOS_ROOT=`ls -d /opt/avalon*` >> ~/.bashrc
RUN echo export PATH=\$PATH:\$ATHOS_ROOT/bin/Linux >> ~/.bashrc
RUN echo export ATHOS_INI=\$ATHOS_ROOT/etc/athos.ini >> ~/.bashrc
RUN echo function startns \(\) \{ ns -DOAHost=0.0.0.0 -DOAPort=2809 \; \} >> ~/.bashrc
RUN echo function startavalon \(\) \{ jaco -Djacorb.net.server_socket_factory=org.jacorb.orb.factory.PortRangeServerSocketFactory -Djacorb.net.server_socket_factory.port.min=43333 -Djacorb.net.server_socket_factory.port.max=43333 -jar \$ATHOS_ROOT/jar/Avalon.jar -NameServiceHost localhost -NameServicePort 2809 -ServiceName avods \; \} >> ~/.bashrc

RUN bash -c '. ~/.bashrc ; cd $ATHOS_ROOT/etc ; patch -p1 < /tmp/config/athos_ini.diff'

RUN echo export LD_LIBRARY_PATH=\$ATHOS_ROOT/bin/Linux:\$ORACLE_HOME/lib:\$ORACLE_HOME/bin >> ~/.bashrc

EXPOSE 2809
EXPOSE 43333

CMD bash -c '. ~/.bashrc ; startns & startavalon'


