Project:Sandbox

/usr/bin/python3.5 /home/miguel/git/rsi/abside-in-a-box/tools/docker/doc-generator/doc-generator.py -t tools/docker/doc-generator/templates

Lista de imágenes
El proyecto Abside in the Cloud ha creado 20 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


 * 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
 * LICENSE: accept
 * DB2INST1_PASSWORD: CmmuWPt87Qh
 * DB2_DATABASE: ABSIDE_C

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

First steps

 * 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_PASSWORD: t0MmcELLkDD
 * MYSQL_ROOT_PASSWORD: CmmuWPt87Qh
 * MYSQL_USER: cmis_user
 * MYSQL_DATABASE: cmis_document

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_PASSWORD: t0MmcELLkDD
 * MYSQL_ROOT_PASSWORD: CmmuWPt87Qh
 * MYSQL_USER: midas_user
 * MYSQL_DATABASE: midas_db

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_PASSWORD: t0MmcELLkDD
 * MYSQL_ROOT_PASSWORD: CmmuWPt87Qh
 * MYSQL_USER: ms_user
 * MYSQL_DATABASE: ms_db

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_PASSWORD: t0MmcELLkDD
 * MYSQL_ROOT_PASSWORD: CmmuWPt87Qh
 * MYSQL_USER: ntf_user
 * MYSQL_DATABASE: ntf_liferay

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_PASSWORD: t0MmcELLkDD
 * MYSQL_ROOT_PASSWORD: CmmuWPt87Qh
 * MYSQL_USER: tuxedo_user
 * MYSQL_DATABASE: absidetux01

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_PASSWORD: t0MmcELLkDD
 * MYSQL_ROOT_PASSWORD: CmmuWPt87Qh
 * MYSQL_USER: wiki_user
 * MYSQL_DATABASE: mediawiki

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_PASSWORD: t0MmcELLkDD
 * MYSQL_ROOT_PASSWORD: CmmuWPt87Qh
 * MYSQL_USER: wso2_user
 * MYSQL_DATABASE: wso2esb

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 samba
= Docker container demonstrating Samba's Active Directory Domain Controller (AD DC) support =

This repository is unmaintained. Check if one of the forks are up to date.

Run these commands to build, start and stop the container

docker build -t samba-ad-dc. docker run --privileged -v ${PWD}/samba:/var/lib/samba -e &quot;SAMBA_DOMAIN=SAMDOM&quot; -e &quot;SAMBA_REALM=SAMDOM.EXAMPLE.COM&quot; --name dc1 --dns 127.0.0.1 -d samba-ad-dc docker run -e &quot;SAMBA_DOMAIN=SAMDOM&quot; -e &quot;SAMBA_REALM=SAMDOM.EXAMPLE.COM&quot; -e &quot;ROOT_PASSWORD=Opoh6quoo5lu&quot; -e &quot;SAMBA_ADMIN_PASSWORD=Yi1se@i^h0&quot; --name dc1 --dns 127.0.0.1 -d samba-ad-dc docker stop dc1 &amp;&amp; docker rm dc1 sudo rm -rf samba You can of course change the domain and realm to your liking.
 * 1) build samba AD image
 * 1) run samba AD image with autogenerated passwords
 * 1) run samba AD image with predefined passwords without mounting the samba volume
 * 1) stop and remove samba AD image
 * 1) remove local samba

You get the IP-address of the running machine by issuing  and the root user's password as well as other passwords by running. You should then be able to log in with SSH.

One fast check to see that Kerberos talks with Samba:

ssh root@172.17.0.2 root@1779834e202b:~# kinit administrator@SAMDOM.EXAMPLE.COM Password for administrator@SAMDOM.EXAMPLE.COM: Warning: Your password will expire in 41 days on Thu Jul 10 19:36:55 2014 root@1779834e202b:~# klist Ticket cache: FILE:/tmp/krb5cc_0 Default principal: administrator@SAMDOM.EXAMPLE.COM

Valid starting    Expires            Service principal 05/29/14 19:45:53 05/30/14 05:45:53  krbtgt/SAMDOM.EXAMPLE.COM@SAMDOM.EXAMPLE.COM renew until 05/30/14 19:45:43 LDAP search within the container:

ldapsearch -b &quot;DC=samdom,DC=example,DC=com&quot; &quot;(&amp;(objectClass=user)(name=administrator))&quot; Edit custom.sh to add custom logic executed at the and of supervisord.

Allow Insecure LDAP Authentication
Simple auth via LDAP fails if you have an unencrypted connection (&quot;BindSimple: Transport encryption required&quot;).

For debugging purposes, you can avoid this error by setting the LDAP_ALLOW_INSECURE environment variable to true.

DO NOT USE LDAP_ALLOW_INSECURE IN PRODUCTION!

Redmine client
Now you can test Redmine ldap login to the host.

docker run --name redmine -d sameersbn/redmine:latest REDMINE_IP=$(docker inspect redmine | grep IPAddres | awk -F'&quot;' '{print $4}') xdg-open &quot;http://${REDMINE_IP}/auth_sources/new&quot; Refresh the browser until the login page shows. Login with both username and password as admin. Fill the form with these credentials:

Name: samdom Host: *samba_ad_dc_ip* Port: 389 [ ] LDAPS Account: Administrator@smbdc1 Password: *samba_admin_password_here* Base DN: CN=Users,DC=samdom,DC=example,DC=com LDAP filter: Timeout (in seconds):

On-the-fly user creation [X] Attributes: Login attribute: sAMAccountName Firstname attribute: givenName Lastname attribute: sn   Email attribute: userPrincipalName Now log out and log in with the samba administrator credentials (username: administrator, password: check with docker log dc1)

Windows client
This is a nice guide to join your Windows 7 client to the DC. Just make sure to have your Docker container as the primary DNS server for Windows.

LDAP explorers
I used JXplorer to explore the LDAP-schema. To log in you need to input something like this:

Samba as User Database for Alfresco
For an example on how to use Samba as LDAP server with Alfresco, see the provided docker-compose file:

cd compose docker-compose up Watch the Alfresco log:

docker exec -it alfresco bash tail -f /alfresco/tomcat/logs/catalina.out Once Alfresco is up and running, you can log in at port 8080 as admin/admin or as one of the users created in the custom.sh file.

Testing UNIX login with sssd
root@e936157c0bc1:~# getent passwd Administrator administrator:*:935000500:935000513:Administrator:/: root@e936157c0bc1:~# getent group &quot;Domain Users&quot; domain users:*:935000513:administrator root@e936157c0bc1:~# ssh Administrator@localhost Administrator@localhost's password: Welcome to Ubuntu 14.04 LTS (GNU/Linux 3.14.4-1-ARCH x86_64)

Resources
I followed the guide on Samba's wiki pages https://wiki.samba.org/index.php/Samba_AD_DC_HOWTO

Port usage: https://wiki.samba.org/index.php/Samba_port_usage

Port forwarding command
If you want the DC to be reachable through the host's IP you can start the container with this command:

docker run --privileged -p 53:53 -p 53:53/udp -p 88:88 -p 88:88/udp -p 135:135 -p 137-138:137-138/udp -p 139:139 -p 389:389 -p 389:389/udp -p 445:445 -p 464:464 -p 464:464/udp -p 636:636 -p 1024-1044:1024-1044 -p 3268-3269:3268-3269 -v ${HOME}/dockervolumes/samba:/var/lib/samba -e &quot;SAMBA_DOMAIN=samdom&quot; -e &quot;SAMBA_REALM=samdom.example.com&quot; -e &quot;SAMBA_HOST_IP=$(hostname --all-ip-addresses |cut -f 1 -d' ')&quot; --name samdom --dns 127.0.0.1 -d samba-ad-dc The problem is that the port range 1024 and upwards are used for dynamic RPC-calls, luckily Samba goes through them in order, so the first 20 or so should suffice for testing purposes. Windows complains otherwise that &quot;The RPC server is unavailable&quot;. It's also possible to eliminate long command line parameters by using  instead.

TODO

 * [X] xattr and acl support for docker containers
 * [ ] NTP support
 * [ ] Try to join other Samba4 servers with a Samba4 DC
 * [ ] How to implement redundancy and fail-safes?
 * [X] Verify that Bind9 Dynamically Loadable Zones (DLZ) work
 * [X] Can this be used for UNIX logins as well?
 * [ ] Probably a lot more to make this robust enough for production use
 * [ ] Fix rare BIND9 startup problems. Failed to connect to /var/lib/samba/private/dns/sam.ldb.


 * 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_USER: wiki_user
 * MEDIAWIKI_DB_PASSWORD: t0MmcELLkDD
 * MEDIAWIKI_SITE_SERVER: http://abside.docker
 * MEDIAWIKI_DB_HOST: mysql_wiki
 * MEDIAWIKI_SITE_NAME: AbsideWiki
 * MEDIAWIKI_DB_PORT: 3306
 * MEDIAWIKI_DB_NAME: mediawiki

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