forked from ISTI-ansible-roles/ansible-roles
76 lines
3.0 KiB
Docker
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"]
|