ansible-roles/smartgears/smartgears-base-image/templates/Dockerfile

76 lines
3.0 KiB
Docker

FROM ubuntu:14.04
ENV JAVA_HOME {{ java_home }}
ENV CATALINA_HOME {{ catalina_home }}
ENV GHN_HOME {{ smartgears_user_home }}
WORKDIR {{ smartgears_user_home }}
ADD {{ smartgears_url }} {{ smartgears_user_home }}
ADD smartgears_run.sh {{ smartgears_user_home }}
{% if patch_common_scope %}
COPY common-scope-maps-patched.ja* {{ smartgears_user_home }}
{% endif %}
{% if patch_common_authorization %}
COPY common-authorization-patched.ja* {{ smartgears_user_home }}
{% endif %}
RUN \
#### install either the Oracle JDK or OpenJDK
apt-get update && \
apt-get install -y software-properties-common && \
{% if java_jdk == 'java8-jdk' %}
echo oracle-java8-installer shared/accepted-oracle-license-v1-1 select true | debconf-set-selections && \
add-apt-repository -y ppa:webupd8team/java && \
apt-get update && \
apt-get install -y oracle-java8-installer && \
rm -rf /var/lib/apt/lists/* && \
rm -rf /var/cache/oracle-jdk8-installer && \
{% elif java_jdk == 'openjdk-8' %}
apt-add-repository -y ppa:openjdk-r/ppa && \
apt-get update && \
apt-get install -y openjdk-8-jdk-headless && \
{% endif %}
apt-get update && apt-get install -y tomcat7 openssh-client openssh-server python wget && \
ln -s /var/lib/tomcat7/webapps/ /usr/share/tomcat7/webapps && \
sed -ie 's/^TOMCAT7_USER=tomcat7/TOMCAT7_USER={{ smartgears_user }}/' /etc/default/tomcat7 && \
sed -ie 's/^TOMCAT7_GROUP=tomcat7/TOMCAT7_GROUP={{ smartgears_user }}/' /etc/default/tomcat7 && \
#### set the default JDK for tomcat
{% if java_jdk == 'java8-jdk' %}
echo "JAVA_HOME=/usr/lib/jvm/java-8-oracle/" >> /etc/default/tomcat7 && \
{% elif java_jdk == 'openjdk-8' %}
echo "JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64/" >> /etc/default/tomcat7 && \
{% endif %}
echo GHN_HOME={{ smartgears_user_home }} >> /etc/default/tomcat7 && \
echo CATALINA_HOME={{ catalina_home }} >> /etc/default/tomcat7 && \
echo CATALINA_OPTS=\"{{ catalina_opts }}\" >> /etc/default/tomcat7 && \
ln -s /etc/init.d/tomcat7 /etc/init.d/tomcat-instance-9000 && \
sed -i 's/8080/{{ tomcat_port }}/' /var/lib/tomcat7/conf/server.xml && \
mkdir /var/run/sshd && \
#### if an orchestrator ssh key is specified then add it to the authorized_keys
{% if orchestrator_ssh_key is defined %}
mkdir -p ~/.ssh/ && touch ~/.ssh/authorized_keys && \
echo "{{ orchestrator_ssh_key }}" >> ~/.ssh/authorized_keys && \
echo "{{ orchestrator_user }} ALL=(ALL) ALL" >> /etc/sudoers && \
{% endif %}
#### is this pem required?
wget -O /usr/local/share/ca-certificates/infn-ca-2015.crt https://security.fi.infn.it/CA/mgt/INFNCA.pem && \
tar xzvf smartgears-distribution-{{ smartgears_distribution_version }}.tar.gz
WORKDIR {{ smartgears_user_home }}/smartgears-distribution-{{ smartgears_distribution_version }}/
RUN \
./install -s tomcat
COPY logback.xml {{ smartgears_user_home }}/lib/
WORKDIR {{ smartgears_user_home }}
EXPOSE 22 8080
ENTRYPOINT ["{{ smartgears_user_home }}/smartgears_run.sh"]