Adaptación del Docker publicado en https://git.sindominio.net/gancio/docker-gancio para su uso en Estibadores
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
98 lines
2.6 KiB
98 lines
2.6 KiB
![]()
9 months ago
|
## ARGUMENTOS:
|
||
|
## GANCIO_VERSION tag/rama desde la que se construye gancio (defecto: master)
|
||
|
## GANCIO_UID uid (identificador numerico) de la usuaria que ejecutara gancio (defecto: 110)
|
||
|
|
||
|
|
||
|
## Etapa 1: COMPILACION de Gancio
|
||
|
##
|
||
|
## - Descarga codigo de Framagit.org
|
||
|
## - Compila la libreria Gancio
|
||
|
## - Dependencias: nodejs + yarn
|
||
|
##
|
||
|
FROM registry.sindominio.net/debian
|
||
|
|
||
|
## TEMPORAL para evitar el fallo al compilar
|
||
|
RUN sed -i "3d" /etc/apt/sources.list
|
||
|
|
||
|
RUN apt-get update && \
|
||
|
apt-get install -y --no-install-recommends curl gnupg2 ca-certificates git
|
||
|
|
||
|
# Instalar Node Latest
|
||
|
RUN curl -sL https://deb.nodesource.com/setup_12.x | bash - && \
|
||
|
apt-get install -y nodejs
|
||
|
|
||
|
WORKDIR /opt
|
||
|
|
||
|
ARG GANCIO_VERSION=master
|
||
|
|
||
|
RUN echo "deb http://deb.debian.org/debian buster-backports main" >> /etc/apt/sources.list && \
|
||
|
echo "deb https://dl.yarnpkg.com/debian/ stable main" > /etc/apt/sources.list.d/yarn.list && \
|
||
|
curl -sL https://dl.yarnpkg.com/debian/pubkey.gpg | apt-key add -
|
||
|
|
||
|
|
||
|
# Instalar Yarn
|
||
|
RUN apt-get update && \
|
||
|
apt-get install -y --no-install-recommends yarn
|
||
|
|
||
|
# Clonar codigo de Gancio
|
||
|
RUN git clone https://framagit.org/les/gancio.git
|
||
|
|
||
|
WORKDIR /opt/gancio
|
||
|
RUN git checkout $GANCIO_VERSION
|
||
|
|
||
|
# Aplicar parches
|
||
|
#COPY patches patches
|
||
|
#RUN git apply patches/*.patch
|
||
|
|
||
|
# Instalar dependencias de desarrollo, compilar y empaquetar
|
||
|
RUN yarn install && \
|
||
|
yarn build && \
|
||
|
yarn pack --filename=gancio.tgz
|
||
|
|
||
|
|
||
|
## 2da Etapa: EJECUCION de Gancio
|
||
|
##
|
||
|
## - Usa la libreria Gancio compilada antes
|
||
|
## - Instala todas las dependencias de produccion
|
||
|
## - Crea un link en /usr/local/bin/gancio
|
||
|
## - Dependencias: nodejs
|
||
|
##
|
||
|
FROM registry.sindominio.net/debian
|
||
|
|
||
|
## TEMPORAL para evitar el fallo al compilar
|
||
|
RUN sed -i "3d" /etc/apt/sources.list
|
||
|
|
||
|
|
||
|
RUN apt-get update && \
|
||
|
apt-get install -y --no-install-recommends curl gnupg2 ca-certificates git
|
||
|
|
||
|
# Instalar Node Latest
|
||
|
RUN curl -sL https://deb.nodesource.com/setup_12.x | bash - && \
|
||
|
apt-get install -y nodejs
|
||
|
|
||
|
# Copiar y descomprimir el servicio de Gancio compilado en 1ra Etapa
|
||
|
COPY --from=0 /opt/gancio/gancio.tgz ./
|
||
|
|
||
|
RUN tar zxf gancio.tgz && \
|
||
|
mv package /opt/gancio && \
|
||
|
rm gancio.tgz
|
||
|
|
||
|
WORKDIR /opt/gancio
|
||
|
|
||
|
# Instalar solo las dependencias de produccion y crear symlink para ejecucion
|
||
|
RUN npm install --production && \
|
||
|
ln -s /gancio/server/cli.js /usr/local/bin/gancio
|
||
|
|
||
|
# Crear usuaria gancio para ejecutar el servicio
|
||
|
# NOTE: Voy a probar de lanzarlo desdel el docker-compose
|
||
|
|
||
|
#ARG GANCIO_UID=110
|
||
|
#RUN useradd -u $GANCIO_UID -g nogroup gancio
|
||
|
|
||
|
# Compiar el script de entrada del repo y ejecutar
|
||
|
ADD entrypoint.sh /
|
||
|
|
||
|
RUN chmod 750 /entrypoint.sh
|
||
|
|
||
|
ENTRYPOINT [ "/bin/sh", "/entrypoint.sh" ]
|