# os with ssh
# images
FROM ubuntu:20.04 

# package procedure(update&upgrade&install)
RUN apt-get update && \
    apt-get upgrade -y && \
    apt-get install -y vim net-tools apt-utils iputils-ping wget tar curl language-pack-ko openssh-server openjdk-8-jdk

#package clean unused
RUN apt-get clean && \
    rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*

# Set up configuration for SSH
RUN mkdir /var/run/sshd
RUN echo 'root:!@#gds$%^' | chpasswd
RUN sed -ri 's/^#?PermitRootLogin\s+.*/PermitRootLogin yes/' /etc/ssh/sshd_config

# SSH login fix. Otherwise, user is kicked off after login
RUN sed 's@session\s*required\s*pam_loginuid.so@session optional pam_loginuid.so@g' -i /etc/pam.d/sshd

ENV NOTVISIBLE "in users profile"
RUN echo "export VISIBLE=now" >> /etc/profile

# wget tomcat8.5.28(tomcat 사양에 따라 dist 변경 필요)
RUN wget https://archive.apache.org/dist/tomcat/tomcat-8/v8.5.28/bin/apache-tomcat-8.5.28.tar.gz 
RUN tar -xf apache-tomcat-8.5.28.tar.gz -C /usr/local
RUN rm apache-tomcat-8.5.28.tar.gz
RUN mv /usr/local/apache-tomcat-8.5.28 /usr/local/tomcat

# java and tomcat path
RUN echo "export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64" >> /etc/profile && \
    echo "export CATALINA_HOME=/usr/local/tomcat" >> /etc/profile && \
    echo "export CLASSPATH=.:$JAVA_HOME/jre/lib/ext:$JAVA_HOME/lib/tools.jar:$CATALINA_HOME/lib/jsp-api.jar:$CATALINA_HOME/lib/servlet-api.jar" >> /etc/profile && \
    echo "export LANG=ko_KR.UTF-8" >> /etc/profile
RUN /bin/bash -c "source /etc/profile"

RUN mkdir /app
RUN mkdir /service_script
COPY start_service.sh /service_script
COPY setting.sql /service_script
RUN chmod +x /service_script/start_service.sh

# Expose port
EXPOSE 22 8080 4333

# Run SSH,DB,TOMCAT
CMD ["/service_script/start_service.sh"]
