89 lines
2.7 KiB
Docker
89 lines
2.7 KiB
Docker
FROM node:12.14.1-stretch-slim
|
|
|
|
ARG TINI_VERSION=v0.19.0
|
|
|
|
LABEL maintainer="Carlos Remuzzi cremuzzi@agetic.gob.bo"
|
|
LABEL org.label-schema.description="Backend del sistema de plantillas de AGETIC"
|
|
LABEL org.label-schema.name="plantillas-backend"
|
|
LABEL org.label-schema.schema-version="1.0"
|
|
LABEL org.label-schema.vcs-ref=$GITLAB_SHA
|
|
LABEL org.label-schema.vcs-url="https://gitlab.softwarelibre.gob.bo/agetic/plantillas/plantillas-backend"
|
|
LABEL org.label-schema.vendor="AGETIC"
|
|
|
|
ENV BACKEND_PUERTO=8000 \
|
|
CITE_DIGITOS=5 \
|
|
CITE_GUIA=ENTIDAD \
|
|
CONFIG_JSON_PATH=/home/node/app/src/config/config.json.sample \
|
|
CONFIG_JS_PATH=/home/node/app/src/config/config.js.sample \
|
|
CORREO_HOST=localhost \
|
|
CORREO_IGNORETLS=false \
|
|
CORREO_ORIGEN=ejemplo@correo.gob.bo \
|
|
CORREO_PUERTO=25 \
|
|
CORREO_REMITENTE=Nombre-del-Remitente \
|
|
CORREO_SECURE=false \
|
|
CORREO_TLS_RECHAZAR=false \
|
|
DB_HOST=plantillas_db \
|
|
DB_NOMBRE=plantillas \
|
|
DB_PASSWORD=plantillas \
|
|
DB_PUERTO=5432 \
|
|
DB_USUARIO=plantillas \
|
|
DOCUMENTO_GET=false \
|
|
HOST_BACKEND=0.0.0.0 \
|
|
HOST_FRONTEND=0.0.0.0 \
|
|
IDENTIFICADOR_DIRECCION_UNIDAD=2 \
|
|
IDENTIFICADOR_DIRECTOR=2 \
|
|
JWT_SECRET=esta-cadena-tiene-que-ser-modificada-en-produccion \
|
|
JWT_SESSION=false \
|
|
JWT_TIEMPO=60 \
|
|
LDAP_BIND_DN=cn=admin,dc=entidad,dc=gob,dc=bo \
|
|
LDAP_BIND_PASSWORD=admin \
|
|
LDAP_SEARCHBASE=ou=usuarios,dc=entidad,dc=gob,dc=bo \
|
|
LDAP_URL=ldaps://ldap.example.abc:1234 \
|
|
NODE_ENV=production \
|
|
NOTIFICACION_CORREO_TOKEN=correo-token \
|
|
NOTIFICACION_CORREO_URL=http://192.168.1.2/correo \
|
|
NOTIFICACION_SMS_TOKEN=sms-token \
|
|
NOTIFICACION_SMS_URL=http://192.168.1.2/sms \
|
|
RUTA_ARCHIVOS_EXTERNOS=./public/externos/ \
|
|
RUTA_DOCUMENTOS=./public/documentos/
|
|
|
|
RUN apt-get update \
|
|
&& mkdir -p /usr/share/man/man1 \
|
|
&& apt-get install --no-install-recommends -y \
|
|
build-essential \
|
|
curl \
|
|
openjdk-8-jre-headless \
|
|
python \
|
|
&& npm install -g \
|
|
pg \
|
|
pg-hstore \
|
|
sequelize \
|
|
sequelize-cli \
|
|
&& curl -fsL https://github.com/krallin/tini/releases/download/${TINI_VERSION}/tini -o /usr/local/bin/tini \
|
|
&& chmod +x /usr/local/bin/tini \
|
|
&& mkdir /home/node/app \
|
|
&& chown -R node:node /home/node/app
|
|
|
|
WORKDIR /home/node/app
|
|
|
|
USER node
|
|
|
|
COPY --chown=node:node package.json .
|
|
COPY --chown=node:node ./parches/ ./parches/
|
|
|
|
RUN npm i \
|
|
&& npm run parchar
|
|
|
|
COPY --chown=node:node . .
|
|
|
|
COPY entrypoint.sh /usr/local/bin/entrypoint.sh
|
|
COPY --chown=node:node seeder.sh /home/node/app/seeder.sh
|
|
|
|
VOLUME ["/home/node/app/public"]
|
|
|
|
EXPOSE 8000
|
|
|
|
ENTRYPOINT ["/usr/local/bin/tini","--","/usr/local/bin/entrypoint.sh"]
|
|
|
|
CMD ["node","index.js"]
|