Project:Sandbox

hemrasle
El proyecto Abside in the Cloud ha creado 21 imágenes docker con los diferentes componentes del sistema.

La lista completa de las estas imágenes docker es:
 * apache


 * db2


 * haproxy


 * ldap_am


 * midas


 * ms


 * mysql_cmis


 * mysql_midas


 * mysql_ms


 * mysql_ntf


 * mysql_tuxedo


 * mysql_wiki


 * mysql_wso2


 * nodejs


 * ntf


 * openldap


 * samba


 * tuxedo


 * tuxedo_servlet


 * wiki


 * wso2esb

Imagen apache

 * nombre contenedor
 * apache


 * nombre completo de la imagen
 * registry.gitlab.com/rsi/abside-in-a-box/apache:1.0.0


 * imagen base
 * httpd:2.4


 * variables de entorno
 * No tiene

Dockerfile
FROM httpd:2.4 COPY *.tar / RUN tar xvf /*.tar -C /usr/local/apache2/htdocs/

ENV TZ=Europe/Madrid RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone

Imagen db2

 * nombre contenedor
 * db2


 * nombre completo de la imagen
 * registry.gitlab.com/rsi/abside-in-a-box/db2:1.0.0


 * imagen base
 * ibmcom/db2express-c:10.5.0.5-3.10.0


 * variables de entorno
 * DB2_DATABASE: ABSIDE_C
 * DB2INST1_PASSWORD: CmmuWPt87Qh
 * LICENSE: accept

Dockerfile
FROM ibmcom/db2express-c:10.5.0.5-3.10.0

ENV TZ=Europe/Madrid RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone

RUN mkdir -p /home/db2inst1/db2inst1 /SQL \ && chown -R db2inst1:db2inst1 /home/db2inst1/db2inst1 /SQL

VOLUME ["/home/db2inst1/db2inst1"] CMD ["db2start"]

COPY entrypoint.sh / COPY abside_db2luw.sql / COPY DB2_ABSIDE01.tar.gz /

RUN tar zxvf /DB2_ABSIDE01.tar.gz -C /SQL \ && rm /DB2_ABSIDE01.tar.gz \ && for sql in /SQL/*.sql; do perl -pi -e 's/INSERT INTO \w+\.(\w+)/INSERT INTO PRGQ01.$1/' $sql; done

RUN chmod a+x /entrypoint.sh

Imagen haproxy

 * nombre contenedor
 * haproxy


 * nombre completo de la imagen
 * registry.gitlab.com/rsi/abside-in-a-box/haproxy:1.0.0


 * imagen base
 * haproxy:1.7


 * variables de entorno
 * No tiene

Dockerfile
FROM haproxy:1.7 COPY haproxy.cfg /usr/local/etc/haproxy/haproxy.cfg

ENV TZ=Europe/Madrid RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone

Imagen ldap_am
Esta imagen ejecuta el visor de LDAP LDAP Accoumt Manager, LAM. Los detalles de este software pueden encontrase aquí

Los pasos para utilizar esta imagen son:


 * 1) Head your browser to http://localhost:8080,
 * 2) Go to LAM configuration / Edit general settings
 * 3) Login with default password lam and change master password.
 * 4) Go to LAM configuration / Edit server profiles / General Settins
 * 5) Still with password lam go to Edit server profiles to setup your OpenLDAP database.
 * 6) Set server address. If use with docker-compose/docker swarm the name ldap serveraddress is ldap://openldap:389
 * 7) Set tree suffix taken from DOMAIN in ldap environment variable of image ldap (ex. dc=cajarural,dc=com).
 * 8) Update Security Setting. Add user cn=admin with dc DOMIN. (ex. cn=admin,dc=cajarural,dc=com)
 * 9) Go to LAM configuration / Edit server profiles / General Settins
 * 10) Update dc of different elements (ex. dc=cajarural,dc=com)
 * 11) Next login should use the OpenLdap with user admin set in previous step and PASSWORD environment variable set in openldap image


 * nombre contenedor
 * ldap_am


 * nombre completo de la imagen
 * registry.gitlab.com/rsi/abside-in-a-box/ldap_am:1.0.0


 * imagen base
 * ubuntu:trusty


 * variables de entorno
 * No tiene

Dockerfile
FROM ubuntu:trusty ENV TERM xterm
 * 1) ubuntu xenial dropped php5 and installs php7
 * 2) ldap-account-manager supports php7 with release 5.3
 * 3) currently (Nov16) xenial provides ldap-account-manager 5.2

RUN apt-get update RUN apt-get upgrade -y RUN apt-get install -y ldap-account-manager RUN sed -i 's,DocumentRoot .*,DocumentRoot /usr/share/ldap-account-manager,' /etc/apache2/sites-available/000-default.conf RUN ln -sf /proc/self/fd/1 /var/log/apache2/access.log RUN ln -sf /proc/self/fd/2 /var/log/apache2/error.log

COPY start.sh /start.sh CMD /start.sh

ENV TZ=Europe/Madrid RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone

EXPOSE 80 VOLUME /var/lib/ldap-account-manager VOLUME /etc/ldap-account-manager

Imagen midas

 * nombre contenedor
 * midas


 * nombre completo de la imagen
 * registry.gitlab.com/rsi/abside-in-a-box/midas:1.0.0


 * imagen base
 * jboss/wildfly:8.2.1.Final


 * variables de entorno
 * SERVER_TUX: tuxedo_servlet
 * PORT_TUX: 8080
 * SERVER_NODE: nodejs
 * PORT_NODE: 7001
 * ABSIDE_ENDPOINT_WS: ws://abside.docker:6969
 * LDAP_DOMAIN: gcrdesarrollo.local
 * LDAP_SERVER: samba
 * MIDAS_DB_NAME: midas_db
 * MIDAS_DB_HOST: mysql_midas
 * MIDAS_DB_PORT: 3306
 * MIDAS_DB_USER: midas_user
 * MIDAS_DB_PASSWORD: t0MmcELLkDD
 * MIDAS_DB_JNDI: abside_midas

Dockerfile
FROM jboss/wildfly:8.2.1.Final

EXPOSE 8080
 * 1) Expose the ports we're interested in

EXPOSE 9990
 * 1) Expose the ports we're interested in

USER root RUN yum update -y \ && yum -y install epel-release \ && yum repolist \ && yum -y install nc  mysql \ && yum clean all

RUN mkdir -p /opt/jboss/wildfly/customization/ RUN chown -R jboss:jboss /opt/jboss/wildfly/customization/ ADD customization /opt/jboss/wildfly/customization/

RUN mkdir -p /opt/jboss/wildfly/modules/rsi RUN chown -R jboss:jboss /opt/jboss/wildfly/modules/rsi ADD rsi /opt/jboss/wildfly/modules/rsi/

RUN mkdir -p /MIDAS RUN chown -R jboss:jboss /MIDAS ENV TZ=Europe/Madrid RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone

USER jboss

CMD ["/opt/jboss/wildfly/customization/execute.sh"]

Imagen ms

 * nombre contenedor
 * ms


 * nombre completo de la imagen
 * registry.gitlab.com/rsi/abside-in-a-box/ms:1.0.0


 * imagen base
 * jboss/wildfly:8.2.1.Final


 * variables de entorno
 * SERVER_NTF: ntf
 * PORT_NTF: 8080
 * ABSIDE_ENDPOINT_WS: ws://abside.docker:6969
 * SERVER_TUX: tuxedo_servlet
 * PORT_TUX: 8080
 * MIDAS_DB_JNDI: abside_midas
 * SERVER_MIDAS: midas
 * PORT_MIDAS: 8080
 * MS_DB_NAME: ms_db
 * MS_DB_HOST: mysql_ms
 * MS_DB_PORT: 3306
 * MS_DB_USER: ms_user
 * MS_DB_PASSWORD: t0MmcELLkDD

Dockerfile
FROM jboss/wildfly:8.2.1.Final

EXPOSE 8080
 * 1) Expose the ports we're interested in

EXPOSE 9990
 * 1) Expose the ports we're interested in

USER root RUN yum update -y \ && yum -y install epel-release \ && yum repolist \ && yum -y install nc  mysql \ && yum clean all

RUN mkdir -p /opt/jboss/wildfly/customization/ RUN chown -R jboss:jboss /opt/jboss/wildfly/customization/ RUN mkdir -p /opt/jboss/wildfly/customization/LOGS RUN chown -R jboss:jboss /opt/jboss/wildfly/customization/LOGS/ ENV TZ=Europe/Madrid RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone

USER jboss ADD customization /opt/jboss/wildfly/customization/

RUN tar xvf /opt/jboss/wildfly/customization/security-module-static.tar -C /opt/jboss/wildfly/welcome-content/

CMD ["/opt/jboss/wildfly/customization/execute.sh", "standalone" ,"standalone.xml"]
 * 1) 172.22.4.39 	A020NFS01.gcrdesarrollo.local

Imagen mysql_cmis

 * nombre contenedor
 * mysql_cmis


 * nombre completo de la imagen
 * registry.gitlab.com/rsi/abside-in-a-box/mysql_cmis:1.0.0


 * imagen base
 * mysql:5.7


 * variables de entorno
 * MYSQL_DATABASE: cmis_document
 * MYSQL_ROOT_PASSWORD: CmmuWPt87Qh
 * MYSQL_PASSWORD: t0MmcELLkDD
 * MYSQL_USER: cmis_user

Dockerfile
FROM mysql:5.7

COPY *.tar.gz / RUN tar zxvf /*.tar.gz -C /docker-entrypoint-initdb.d --strip=1 RUN cd /docker-entrypoint-initdb.d \ && mv cmis_document.sql_ddl 01_ddl.sql \ && mv cmis_document.sql_ddl_rutinas 02_ddl_rutinas.sql \ && mv cmis_document.sql 03.sql \ && mv *.txt ../

COPY my.cnf /etc/mysql/conf.d/my.cnf

RUN perl -pi -e '$/=undef; s/^CREATE\s+TABLESPACE.*ENGINE=ndbcluster;//sm' /docker-entrypoint-initdb.d/01_ddl.sql \ && perl -pi -e 's!/\*.* TABLESPACE .* \*/\s*ENGINE=ndbcluster !ENGINE=InnoDB !' /docker-entrypoint-initdb.d/01_ddl.sql

ENV TZ=Europe/Madrid RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone

Imagen mysql_midas

 * nombre contenedor
 * mysql_midas


 * nombre completo de la imagen
 * registry.gitlab.com/rsi/abside-in-a-box/mysql_midas:1.0.0


 * imagen base
 * mysql:5.7


 * variables de entorno
 * MYSQL_DATABASE: midas_db
 * MYSQL_ROOT_PASSWORD: CmmuWPt87Qh
 * MYSQL_PASSWORD: t0MmcELLkDD
 * MYSQL_USER: midas_user

Dockerfile
FROM mysql:5.7

COPY my.cnf /etc/mysql/conf.d/my.cnf COPY *.tar.gz /

RUN tar zxvf /*.tar.gz -C /docker-entrypoint-initdb.d --strip=1 RUN cd /docker-entrypoint-initdb.d \ && mv abside_01.sql_ddl 01_ddl.sql \ && mv abside_01.sql_ddl_rutinas 02_ddl_rutinas.sql \ && mv abside_01.sql 03.sql \ && mv *.txt ../ \ && perl -pi -e '$/=undef; s/^CREATE\s+TABLESPACE.*ENGINE=ndbcluster;//sm' /docker-entrypoint-initdb.d/01_ddl.sql \ && perl -pi -e 's!/\*.* TABLESPACE .* \*/\s*ENGINE=ndbcluster !ENGINE=InnoDB !' /docker-entrypoint-initdb.d/01_ddl.sql \ && perl -pi -e 's/source di_diario_electron.result.txt;//' /docker-entrypoint-initdb.d/03.sql \ && rm /di_diario_electron.result.txt

ENV TZ=Europe/Madrid RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone

Imagen mysql_ms

 * nombre contenedor
 * mysql_ms


 * nombre completo de la imagen
 * registry.gitlab.com/rsi/abside-in-a-box/mysql_ms:1.0.0


 * imagen base
 * mysql:5.7


 * variables de entorno
 * MYSQL_DATABASE: ms_db
 * MYSQL_ROOT_PASSWORD: CmmuWPt87Qh
 * MYSQL_PASSWORD: t0MmcELLkDD
 * MYSQL_USER: ms_user

Dockerfile
FROM mysql:5.7

COPY my.cnf /etc/mysql/conf.d/my.cnf COPY *.tar.gz /

RUN tar zxvf /*.tar.gz -C /docker-entrypoint-initdb.d --strip=1 \ && cd /docker-entrypoint-initdb.d \ && mv security_module.sql_ddl 01_ddl.sql \ && mv security_module.sql_ddl_rutinas 02_ddl_rutinas.sql \ && echo "SET foreign_key_checks = 0;" > 03.sql \ && echo "SET @disable_triggers = 1;" >> 03.sql \ && cat security_module.sql >> 03.sql \ && rm security_module.sql \ && mv *.txt ../ \ && perl -pi -e '$/=undef; s/^CREATE\s+TABLESPACE.*ENGINE=ndbcluster;//sm' /docker-entrypoint-initdb.d/01_ddl.sql \ && perl -pi -e 's!/\*.* TABLESPACE .* \*/\s*ENGINE=ndbcluster !ENGINE=InnoDB !' /docker-entrypoint-initdb.d/01_ddl.sql \ && perl -pi -e 's/source tb_vw_user.result.txt;//' /docker-entrypoint-initdb.d/03.sql \ && perl -pi -e 's/source tb_security_module_trace.result.txt;//' /docker-entrypoint-initdb.d/03.sql \ && rm /tb_vw_user.result.txt /tb_security_module_trace.result.txt

ENV TZ=Europe/Madrid RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone

Imagen mysql_ntf

 * nombre contenedor
 * mysql_ntf


 * nombre completo de la imagen
 * registry.gitlab.com/rsi/abside-in-a-box/mysql_ntf:1.0.0


 * imagen base
 * mysql:5.7


 * variables de entorno
 * MYSQL_DATABASE: ntf_liferay
 * MYSQL_ROOT_PASSWORD: CmmuWPt87Qh
 * MYSQL_PASSWORD: t0MmcELLkDD
 * MYSQL_USER: ntf_user

Dockerfile
FROM mysql:5.7

COPY my.cnf /etc/mysql/conf.d/my.cnf COPY *.tar.gz /
 * 1) COPY 04_ntf_liferay_trigger.sql /docker-entrypoint-initdb.d

RUN tar zxvf /*.tar.gz -C /docker-entrypoint-initdb.d --strip=1 \ && cd /docker-entrypoint-initdb.d \ && echo "SET foreign_key_checks = 0;" > 01_ddl.sql \ && cat ntf_liferay.sql_ddl >> 01_ddl.sql \ && rm ntf_liferay.sql_ddl \ && mv ntf_liferay.sql_ddl_rutinas 02_ddl_rutinas.sql \ && echo "SET foreign_key_checks = 0;" > 03.sql \ && echo "SET @disable_triggers = 1;" >> 03.sql \ && echo "SET time_zone = '+00:00'; " >> 03.sql \ && cat ntf_liferay.sql >> 03.sql \ && rm ntf_liferay.sql \ && mv *.txt ../ \ && perl -pi -e '$/=undef; s/^CREATE\s+TABLESPACE.*ENGINE=ndbcluster;//sm' /docker-entrypoint-initdb.d/01_ddl.sql \ && perl -pi -e 's!/\*.* TABLESPACE .* \*/\s*ENGINE=ndbcluster !ENGINE=InnoDB AUTO_INCREMENT=27 !' /docker-entrypoint-initdb.d/01_ddl.sql \ && perl -pi -e '$/=undef; s#DELIMITER\s+;;.*50003\s+CREATE.*TRIGGER RSI_OPERATION_TRIG_A_I.*DELIMITER\s+;##sm' 01_ddl.sql \ && perl -pi -e '$/=undef; s!.*50003 CREATE.*TRIGGER RSI_OPERATION_TRIG_A_I.*END \*/;;!!sm' /docker-entrypoint-initdb.d/01_ddl.sql \ && perl -pi -e 's!.*50003\s+SET\s+sql_mode\s+=\s+@saved_sql_mode.*!!' /docker-entrypoint-initdb.d/01_ddl.sql \ && perl -pi -e 's!.*50003\s+SET\s+character_set_client\s+=\s+@saved_cs_client.*!!' /docker-entrypoint-initdb.d/01_ddl.sql \ && perl -pi -e 's!.*50003\s+SET\s+collation_connection\s+=\s+@saved_col_connection.*!!' /docker-entrypoint-initdb.d/01_ddl.sql \ && perl -pi -e 's/source jmeter_inserts.result.txt;//' /docker-entrypoint-initdb.d/03.sql \ && perl -pi -e 's/source rsi_connections_log.result.txt;//' /docker-entrypoint-initdb.d/03.sql \ && rm /jmeter_inserts.result.txt /rsi_connections_log.result.txt

Imagen mysql_tuxedo

 * nombre contenedor
 * mysql_tuxedo


 * nombre completo de la imagen
 * registry.gitlab.com/rsi/abside-in-a-box/mysql_tuxedo:1.0.0


 * imagen base
 * mysql:5.7


 * variables de entorno
 * MYSQL_DATABASE: absidetux01
 * MYSQL_ROOT_PASSWORD: CmmuWPt87Qh
 * MYSQL_PASSWORD: t0MmcELLkDD
 * MYSQL_USER: tuxedo_user

Dockerfile
FROM mysql:5.7

COPY my.cnf /etc/mysql/conf.d/my.cnf COPY *.tar.gz /

RUN tar zxvf /*.tar.gz -C /docker-entrypoint-initdb.d --strip=1 \ && cd /docker-entrypoint-initdb.d \ && mv absidetux_01.sql_ddl 01_ddl.sql \ && rm absidetux_01.sql_ddl_rutinas  \ && echo "SET foreign_key_checks = 0;" > 03.sql \ && echo "SET @disable_triggers = 1;" >> 03.sql \ && echo "SET time_zone = '+00:00'; " >> 03.sql \ && cat absidetux_01.sql >> 03.sql \ && echo "SET @disable_triggers = 0;" >> 03.sql \ && rm absidetux_01.sql \ && mv *.txt ../ \ && perl -pi -e '$/=undef; s/^CREATE\s+TABLESPACE.*ENGINE=ndbcluster;//sm' /docker-entrypoint-initdb.d/01_ddl.sql \ && perl -pi -e 's!/\*.* TABLESPACE .* \*/\s*ENGINE=ndbcluster !ENGINE=InnoDB !' /docker-entrypoint-initdb.d/01_ddl.sql

ENV TZ=Europe/Madrid RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone

Imagen mysql_wiki

 * nombre contenedor
 * mysql_wiki


 * nombre completo de la imagen
 * registry.gitlab.com/rsi/abside-in-a-box/mysql_wiki:1.0.0


 * imagen base
 * mysql:5.7


 * variables de entorno
 * MYSQL_DATABASE: mediawiki
 * MYSQL_ROOT_PASSWORD: CmmuWPt87Qh
 * MYSQL_PASSWORD: t0MmcELLkDD
 * MYSQL_USER: wiki_user

Dockerfile
FROM mysql:5.7

COPY my.cnf /etc/mysql/conf.d/my.cnf COPY *.tar.gz /

RUN tar zxvf /*.tar.gz -C /docker-entrypoint-initdb.d --strip=1 \ && cd /docker-entrypoint-initdb.d \ && mv absidewiki.sql_ddl 01_ddl.sql \ && mv absidewiki.sql_ddl_rutinas 02_ddl_rutinas.sql \ && mv absidewiki.sql 03.sql \ && mv *.txt ../ \ && perl -pi -e '$/=undef; s/^CREATE\s+TABLESPACE.*ENGINE=ndbcluster;//sm' /docker-entrypoint-initdb.d/01_ddl.sql \ && perl -pi -e 's!/\*.* TABLESPACE .* \*/\s*ENGINE=ndbcluster !ENGINE=InnoDB !' /docker-entrypoint-initdb.d/01_ddl.sql

ENV TZ=Europe/Madrid RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone

Imagen mysql_wso2

 * nombre contenedor
 * mysql_wso2


 * nombre completo de la imagen
 * registry.gitlab.com/rsi/abside-in-a-box/mysql_wso2:1.0.0


 * imagen base
 * mysql:5.7


 * variables de entorno
 * MYSQL_DATABASE: wso2esb
 * MYSQL_ROOT_PASSWORD: CmmuWPt87Qh
 * MYSQL_PASSWORD: t0MmcELLkDD
 * MYSQL_USER: wso2_user

Dockerfile
FROM mysql:5.7

COPY my.cnf /etc/mysql/conf.d/my.cnf COPY *.tar.gz /

RUN tar zxvf /*.tar.gz -C /docker-entrypoint-initdb.d --strip=1 \ && cd /docker-entrypoint-initdb.d \ && mv wso2esb.sql_ddl 01_ddl.sql \ && mv wso2esb.sql_ddl_rutinas 02_ddl_rutinas.sql \ && mv wso2esb.sql 03.sql \ && mv *.txt ../ \ && perl -pi -e '$/=undef; s/^CREATE\s+TABLESPACE.*ENGINE=ndbcluster;//sm' /docker-entrypoint-initdb.d/01_ddl.sql \ && perl -pi -e 's!/\*.* TABLESPACE .* \*/\s*ENGINE=ndbcluster !ENGINE=InnoDB !' /docker-entrypoint-initdb.d/01_ddl.sql

ENV TZ=Europe/Madrid RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone

Imagen nodejs

 * nombre contenedor
 * nodejs


 * nombre completo de la imagen
 * registry.gitlab.com/rsi/abside-in-a-box/nodejs:1.0.0


 * imagen base
 * buildpack-deps:jessie


 * variables de entorno
 * http_proxy: http://P02MAV01:Mg89Es1__172.22.5.32:8080
 * https_proxy: http://P02MAV01:Mg89Es1__172.22.5.32:8080

Dockerfile
FROM buildpack-deps:jessie

USER root ENV TZ=Europe/Madrid RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone

RUN set -ex \ && for key in \ 9554F04D7259F04124DE6B476D5A82AC7E37093B \ 94AE36675C464D64BAFA68DD7434390BDBE9B9C5 \ 0034A06D9D9B0064CE8ADF6BF1747F4AD2306D93 \ FD3A5288F042B6850C66B31F09FE44734EB7990E \ 71DCFD284A79C3B38668286BC97EC7A07EDE3FC1 \ DD8F2338BAE7501E3DD5AC78C273792F7D83545D \ B9AE9905FFD7803F25714661B63B535A4C206CA9 \ C4F0DFFF4E8C1A8236409D08E73BC641CC11F4C8 \ ; do \ gpg --keyserver ha.pool.sks-keyservers.net --recv-keys "$key"; \ done
 * 1) gpg keys listed at https://github.com/nodejs/node

ENV NODE_VERSION 0.10.46

RUN curl -SLO "https://nodejs.org/dist/v$NODE_VERSION/node-v$NODE_VERSION-linux-x64.tar.xz" \ && curl -SLO "https://nodejs.org/dist/v$NODE_VERSION/SHASUMS256.txt.asc" \ && gpg --batch --decrypt --output SHASUMS256.txt SHASUMS256.txt.asc \ && grep " node-v$NODE_VERSION-linux-x64.tar.xz\$" SHASUMS256.txt | sha256sum -c - \ && tar -xJf "node-v$NODE_VERSION-linux-x64.tar.xz" -C /usr/local --strip-components=1 \ && rm "node-v$NODE_VERSION-linux-x64.tar.xz" SHASUMS256.txt.asc SHASUMS256.txt \ && ln -s /usr/local/bin/node /usr/local/bin/nodejs

RUN npm install websocket RUN npm install express RUN npm install body-parser RUN npm install method-override

COPY WSserverHA.js /

ENV TZ=Europe/Madrid RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone

CMD [ "node", "/WSserverHA.js"]

Imagen ntf

 * nombre contenedor
 * ntf


 * nombre completo de la imagen
 * registry.gitlab.com/rsi/abside-in-a-box/ntf:1.0.0


 * imagen base
 * jboss/wildfly:8.2.1.Final


 * variables de entorno
 * SERVER_NTF: ntf
 * PORT_NTF: 8080
 * SERVER_BBDD: mysql_ntf
 * PORT_BBDD: 3306
 * SERVER_SOLR: lnxbox12
 * PORT_SOLR: 8380
 * SERVER_JMS: ntf
 * PORT_JMS: 5455
 * PORT_JMS_HTTP: 8080
 * USER_JMS: x02abs01
 * PWD_JMS: X02abs01.123
 * SERVER_TUX: tuxedo_servlet
 * PORT_TUX: 8080
 * NTF_DB_NAME: ntf_liferay
 * NTF_DB_HOST: mysql_ntf
 * NTF_DB_PORT: 3306
 * NTF_DB_USER: ntf_user
 * NTF_DB_PASSWORD: t0MmcELLkDD
 * MS_DB_NAME: ms_db
 * MS_DB_HOST: mysql_ms
 * MS_DB_PORT: 3306
 * MS_DB_USER: ms_user
 * MS_DB_PASSWORD: t0MmcELLkDD
 * LDAP_DOMAIN: gcrdesarrollo.local
 * LDAP_MOD_USER: 8EA39410C4F591C108099C7E1AZ0541Z7CD3A40750C0D6E748E5A82071894E3D
 * LDAP_MOD_USER_PSW: A8F488C608539CCC12A9F1B5ADDCF2069E1E28373E7D4Z3C5481252D6ZD9BC7C
 * LDAP_PROTOCOL_SSL: false
 * LDAP_SERVER_NAME: samba
 * ABSIDE_ENDPOINT: abside.docker
 * ABSIDE_ENDPOINT_WS: ws://abside.docker:6969
 * SECURITY_MODULE_SERVER: ms
 * SECURITY_MODULE_PORT: 8080
 * DOCRENDER_SERVER: certificacion.abside.risa
 * DOCRENDER_PORT: 80
 * SERVER_MIDAS: midas
 * PORT_MIDAS: 8080
 * WIKI_SERVER: abside.docker
 * WIKI_PORT: 80

Dockerfile
FROM jboss/wildfly:8.2.1.Final

EXPOSE 8080
 * 1) Expose the ports we're interested in

EXPOSE 9990
 * 1) Expose the ports we're interested in

USER root ENV TZ=Europe/Madrid RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone

RUN yum update -y \ && yum -y install epel-release \ && yum repolist \ && yum -y install mysql nc \ && yum clean all RUN mkdir -p /opt/jboss/wildfly/customization/ RUN chown -R jboss:jboss /opt/jboss/wildfly/customization/ RUN mkdir -p /LOGS/NTF RUN chown -R jboss:jboss /LOGS/ ENV TZ=Europe/Madrid RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone

USER jboss ADD customization /opt/jboss/wildfly/customization/ RUN tar xvf /opt/jboss/wildfly/customization/ContenidoEstaticoMIDAS*.tar -C /opt/jboss/wildfly/welcome-content/

CMD ["/opt/jboss/wildfly/customization/execute.sh", "standalone" ,"standalone-full-ha.xml"]
 * 1) 172.22.4.39 	A020NFS01.gcrdesarrollo.local

Imagen openldap
Esta imagen arrance un openldap, el cual eses utilizado en Abside para albergar las transaciones de tuxedo.

Se instala sobre una imagen ubuntu el paquete openldap y se le añade:


 * 1) el esquema sergener, necesario para cargar las transacciones de tuxedo.
 * 2) la carga del fichero ldif con las transaciones de tuxedo

La inclusión del esquema sergener.schema se hace en tiempo de ejecución la primera vez que se arranca la imagen. Para ello se siguen las instrucciones que se detallan aquí

La carga del fichero ldif con las transacciones de tuxedo también se relaiza en la primera ejecución de la imagen.

La configuración del openldap y la carga de transacciones se almacena en volúmenes externos al contenedor para sobrevivir rearranques:


 * configuración: volumen /etc/ldap
 * datos: volúmenes /var/lib/ldap y /var/backups

La imagen proporciona las siguientes variables de configuración:


 * DOMAIN (obligatorio)

El dominio del ldap, por ejemplo. El distinguish name es creado a partir de este dominio, por ejemplo.

El usuario administrador también es creado a partir de este dominio, con el formato


 * ORGANIZATION (obligatorio)

El nombre de la organización, por ejemplo 'Rural Sistemas Informáticos'


 * PASSWORD (opcional)

Contraseña del usuario admininstrador. Si no se proporciona la contraseña es generada automáticamente y mostrada en el log del contenedor docker durate el arranque.


 * DEBUG (opcional) Espcifica el nivel de trazas. Por defecto es 0 (sin trazas)

Los puertos que exponse la imagen son:


 * 389 (LDAP and LDAP+startTLS)
 * 636 (LDAP+SSL)

Ejemplo de cómo arrancar la imagen

docker run -it --rm --name openldap \ -p 389:389 \ -e DEBUG_LEVEL=1 \ -e DOMAIN=nessa.com \ -e ORGANIZATION=&quot;RSI&quot; \ -e PASSWORD=1234567890 \ openldap Para acceder al LDAP se puede utilizar cualquier visor de LDAPs, como Apache Directory Studio apuntando al puerto 389 de la máquina host utilizando como cuenta de administración, con password

El LDAP también es accesible a través de la imagen ldap_am del proyecto


 * nombre contenedor
 * openldap


 * nombre completo de la imagen
 * registry.gitlab.com/rsi/abside-in-a-box/openldap:1.0.0


 * imagen base
 * ubuntu:14.04


 * variables de entorno
 * DEBUG_LEVEL: 0
 * ORGANIZATION: RSI
 * DOMAIN: nessa.com
 * PASSWORD: 123456789

Dockerfile
FROM ubuntu:14.04

USER root

ENV TERM xterm ENV LANG "en_US.UTF-8" RUN apt-get update RUN apt-get install -y lsb-release language-pack-en less vim wget software-properties-common apt-transport-https python3 RUN locale-gen ${LANG} RUN update-locale LANG=${LANG} RUN rm /root/.bashrc /etc/bash.bashrc /root/.profile /etc/profile /etc/skel/.bashrc

ENV DOMAIN       "gcrdesarrollo.local" ENV ORGANIZATION "RSI" ENV PASSWORD     "1234567890" ENV DEBUG        1

RUN echo "slapd slapd/password1 password test" | debconf-set-selections RUN echo "slapd slapd/password2 password test" | debconf-set-selections RUN apt-get update RUN apt-get install -y slapd ldap-utils debconf-utils pwgen sasl2-bin RUN mkdir /ssl RUN mkdir /ssl/certs RUN mkdir /ssl/private RUN chmod o= /ssl/private RUN chgrp openldap /ssl/private COPY start.sh /start.sh CMD /start.sh
 * 1) COPY ldap.conf /etc/ldap/ldap.conf

RUN chown -R openldap:openldap /etc/ldap

COPY sergener.schema /etc/ldap/schema/sergener.schema COPY schema-build.conf /tmp/schema-build.conf

COPY clean-ldif.py / RUN chmod a+x /clean-ldif.py

COPY ldif/* /ldif/

EXPOSE 389 EXPOSE 636

ENV TZ=Europe/Madrid RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone

VOLUME /ssl VOLUME /var/backups VOLUME /var/lib/ldap

Imagen samba
Imagen con Samba configurado como Active Directory Domain

Con samba se consigue remplazar el Active Directory (que corre sobre Windows y que por tanto no está disponible como imagen docker) y que el frontend de Abside utiliza para hacer la identificación de usuarios

Esta imagen se base en esta imagen en docker hub

Otros recursos:


 * Guía de Samba como Active Directory
 * Uso de puertos con Samba


 * nombre contenedor
 * samba


 * nombre completo de la imagen
 * registry.gitlab.com/rsi/abside-in-a-box/samba:1.0.0


 * imagen base
 * ubuntu:17.04


 * variables de entorno
 * SAMBA_DOMAIN: gcrdesarrollo
 * SAMBA_REALM: gcrdesarrollo.local
 * ROOT_PASSWORD: T0p$$ecret
 * SAMBA_ADMIN_PASSWORD: T0p$$ecret
 * LDAP_ALLOW_INSECURE: true

Dockerfile
FROM ubuntu:17.04
 * 1) FROM ubuntu:trusty

ENV DEBIAN_FRONTEND noninteractive

RUN echo "#!/bin/sh\nexit 0" > /usr/sbin/policy-rc.d
 * 1) Avoid ERROR: invoke-rc.d: policy-rc.d denied execution of start.

RUN apt-get update RUN apt-get upgrade -y RUN apt-get install -y openssh-server supervisor RUN mkdir -p /var/run/sshd RUN mkdir -p /var/log/supervisor RUN sed -ri 's/PermitRootLogin without-password/PermitRootLogin Yes/g' /etc/ssh/sshd_config
 * 1) Setup ssh and install supervisord

RUN apt-get install -y bind9 dnsutils ADD named.conf.options /etc/bind/named.conf.options
 * 1) Install bind9 dns server

RUN apt-get install -y build-essential libacl1-dev libattr1-dev \ libblkid-dev libgnutls28-dev libreadline-dev python-dev libpam0g-dev \ python-dnspython gdb pkg-config libpopt-dev libldap2-dev \ dnsutils libbsd-dev attr krb5-user docbook-xsl libcups2-dev acl python-xattr RUN apt-get install -y samba smbclient krb5-kdc
 * 1) Install samba and dependencies to make it an Active Directory Domain Controller

RUN apt-get install -y expect pwgen ADD kdb5_util_create.expect kdb5_util_create.expect
 * 1) Install utilities needed for setup

RUN apt-get install -y rsyslog
 * 1) Install rsyslog to get better logging of ie. bind9

RUN apt-get install -y python3-pip \ && pip3 install ldif3
 * 1) Install dependencies for ldif.py

RUN mkdir -p /var/run/named \ && mkdir -p /var/lib/samba/private/dns \ && chown -R bind:bind /var/run/named /var/lib/samba/private/dns
 * 1) Create run directory for bind9


 * 1) Install sssd for UNIX logins to AD
 * 2) RUN apt-get install -y sssd sssd-tools libpam-sss libnss-sss libnss-ldap
 * 3) ADD sssd.conf /etc/sssd/sssd.conf
 * 4) RUN chmod 0600 /etc/sssd/sssd.conf

RUN apt-get install locales RUN locale-gen en_US.UTF-8 ENV LANG en_US.UTF-8 ENV LANGUAGE en_US:en ENV LC_ALL en_US.UTF-8
 * 1) Set the locale

ENV TZ=Europe/Madrid RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone

ADD load_users.sh /usr/local/bin/load_users.sh ADD ldif.py /usr/local/bin/ldif.py RUN chmod +x /usr/local/bin/load_users.sh /usr/local/bin/ldif.py
 * 1) Add load_users script and ldif.py

ADD supervisord.conf /etc/supervisor/conf.d/supervisord.conf ADD init.sh /init.sh RUN chmod 755 /init.sh EXPOSE 22 53 389 88 135 139 138 445 464 3268 3269 ENTRYPOINT ["/init.sh"] CMD ["app:start"]
 * 1) Add supervisord and init

COPY ldif/*.ldif /ldif/

VOLUME ["/var/lib/samba", "/etc"]

Imagen tuxedo

 * nombre contenedor
 * tuxedo


 * nombre completo de la imagen
 * registry.gitlab.com/rsi/abside-in-a-box/tuxedo:1.0.0


 * imagen base
 * oraclelinux


 * variables de entorno
 * TUXDIR: /home/oracle/tuxHome/tuxedo12.1.3.0.0

Dockerfile
#
 * 1) Dockerfile template for Tuxedo 12.1.3
 * 2) Download the following files to an empty directory:
 * 3)   tuxedo121300_64_Linux_01_x86.zip	from http://www.oracle.com/technetwork/middleware/tuxedo/downloads/index.html
 * 4)   p22090512_121300_Linux-x86-64.zip 	or whatever the latest Tuxedo rolling patch is from My Oracle Support
 * 1)   p22090512_121300_Linux-x86-64.zip 	or whatever the latest Tuxedo rolling patch is from My Oracle Support

FROM oraclelinux
 * 1) Pull base image

RUN yum -y install unzip gcc file; yum -y clean all && \ groupadd -g 1000 oracle; useradd -b /home -m -g oracle -u 1000 -s /bin/bash oracle && \ echo oracle:oracle | chpasswd; echo root:samplesvm | chpasswd
 * 1) Core install doesn't include unzip or gcc, add them
 * 2) Create the installation directory tree and user oracle with a password of oracle

ADD /packages/* /home/oracle/Downloads/
 * 1) COPY install.sh tuxedo12.1.3.rsp p*_121300_Linux-x86-64.zip tuxedo121300_64_Linux_01_x86.zip /home/oracle/Downloads/
 * 2) ADD simpapp_runme.sh start_tlisten.sh /home/oracle/

RUN chown oracle:oracle -R /home/oracle WORKDIR /home/oracle/Downloads USER oracle

RUN sh install.sh p*_121300_Linux-x86-64.zip tuxedo121300_64_Linux_01_x86.zip
 * 1) Install Tuxedo, SALT, and TSAM Agent

RUN rm -f *.zip
 * 1) Clean up installer files
 * 1) Configure network ports
 * 2) tlisten	nlsaddr:5001  jmx:5002
 * 3) SALT 		http:5010
 * 4) WSL		5020
 * 5) EXPOSE 5001 5002 5010 5020
 * 6) USER root
 * 7) RUN yum -y install bind-utils
 * 1) RUN yum -y install bind-utils

USER oracle WORKDIR /home/oracle CMD ["/bin/bash"]

Imagen tuxedo_servlet

 * nombre contenedor
 * tuxedo_servlet


 * nombre completo de la imagen
 * registry.gitlab.com/rsi/abside-in-a-box/tuxedo_servlet:1.0.0


 * imagen base
 * jboss/wildfly:8.2.1.Final


 * variables de entorno
 * TUXEDO_DB_NAME: absidetux01
 * TUXEDO_DB_HOST: mysql_tuxedo
 * TUXEDO_DB_PORT: 3306
 * TUXEDO_DB_USER: tuxedo_user
 * TUXEDO_DB_PASSWORD: t0MmcELLkDD
 * TUX_NAME: tuxedo_servlet
 * TUX_PORT: 8080

Dockerfile
FROM jboss/wildfly:8.2.1.Final

EXPOSE 8080
 * 1) Expose the ports we're interested in

EXPOSE 9990
 * 1) Expose the ports we're interested in

USER root RUN mkdir -p /ABSIDE/logs/TUXEDO/ RUN chown -R jboss:jboss /ABSIDE ENV TZ=Europe/Madrid RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone

RUN yum update -y \ && yum -y install epel-release \ && yum repolist \ && yum -y install mysql nc \ && yum clean all RUN mkdir -p /opt/jboss/wildfly/customization/ RUN chown -R jboss:jboss /opt/jboss/wildfly/customization/ ENV TZ=Europe/Madrid RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone

USER jboss ADD customization /opt/jboss/wildfly/customization/

CMD ["/opt/jboss/wildfly/customization/execute.sh"]

Imagen wiki

 * nombre contenedor
 * wiki


 * nombre completo de la imagen
 * registry.gitlab.com/rsi/abside-in-a-box/wiki:1.0.0


 * imagen base
 * php:5.6-apache


 * variables de entorno
 * MEDIAWIKI_DB_HOST: mysql_wiki
 * MEDIAWIKI_SITE_SERVER: http://abside.docker
 * MEDIAWIKI_DB_PORT: 3306
 * MEDIAWIKI_SITE_NAME: AbsideWiki
 * MEDIAWIKI_DB_NAME: mediawiki
 * MEDIAWIKI_DB_USER: wiki_user
 * MEDIAWIKI_DB_PASSWORD: t0MmcELLkDD

Dockerfile
FROM php:5.6-apache RUN docker-php-ext-install mysql

COPY php.ini /usr/local/etc/php/ COPY 000-default.conf /etc/apache2/sites-available/

COPY AbsideWiki.tar / RUN tar xvf /AbsideWiki.tar -C /var/www/html/ \ && rm /AbsideWiki.tar

ENTRYPOINT ["/bin/bash", "/wiki-dockerentry.sh"] CMD ["apache2-foreground"]

ENV TZ=Europe/Madrid RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone

COPY /wiki-dockerentry.sh / RUN chmod a+x /wiki-dockerentry.sh

Imagen wso2esb

 * nombre contenedor
 * wso2esb


 * nombre completo de la imagen
 * registry.gitlab.com/rsi/abside-in-a-box/wso2esb:1.0.0


 * imagen base
 * wso2/wso2base:latest


 * variables de entorno
 * WSO2_SERVER: wso2esb
 * WSO2_SERVER_VERSION: 4.8.1
 * WSO2_SERVER_PROFILE: default
 * WSO2_ENVIRONMENT: dev
 * PLATFORM: default

Dockerfile
#
 * 1) Copyright 2016 WSO2, Inc. (http://wso2.com)
 * 2) Licensed under the Apache License, Version 2.0 (the "License");
 * 3) you may not use this file except in compliance with the License.
 * 4) You may obtain a copy of the License at
 * 5) http://www.apache.org/licenses/LICENSE-2.0
 * 6) Unless required by applicable law or agreed to in writing, software
 * 7) distributed under the License is distributed on an "AS IS" BASIS,
 * 8) WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * 9) See the License for the specific language governing permissions and
 * 10) limitations under the License
 * 1) distributed under the License is distributed on an "AS IS" BASIS,
 * 2) WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * 3) See the License for the specific language governing permissions and
 * 4) limitations under the License



FROM wso2/wso2base:latest MAINTAINER dev@wso2.org

ENV DEBIAN_FRONTEND noninteractive

ARG WSO2_SERVER ARG WSO2_SERVER_VERSION ARG WSO2_SERVER_PROFILE ARG WSO2_ENVIRONMENT ARG PLATFORM
 * 1) Build time arguments

ENV WSO2_SERVER=${WSO2_SERVER:-wso2esb} \ WSO2_SERVER_VERSION=${WSO2_SERVER_VERSION:-4.9.0} \ WSO2_SERVER_PROFILE=${WSO2_SERVER_PROFILE:-default} \ WSO2_ENVIRONMENT=${WSO2_ENVIRONMENT:-dev} \ PLATFORM=${PLATFORM}
 * 1) Carbon server information


 * 1) Carbon server information

ADD packages/ /mnt/ ADD scripts/ /usr/local/bin/

RUN bash /usr/local/bin/image-config.sh
 * 1) Execute configuration script

USER wso2user WORKDIR /mnt

EXPOSE 8280 8243 9763 9443
 * 1) Expose transport ports

ENTRYPOINT ["/usr/local/bin/init.sh"]

Process finished with exit code 0