Browse Source

parametros para build y runtime

gancio-entrypoint
matus 6 months ago
parent
commit
c9dfcc0757
  1. 2
      .env.sample
  2. 25
      Dockerfile
  3. 4
      docker-compose.yml

2
.env.sample

@ -0,0 +1,2 @@
GANCIO_DATA_PATH="./data"
GANCIO_PORT=13120

25
Dockerfile

@ -1,4 +1,9 @@
## Docker para COMPILACION de Gancio
## 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
@ -9,7 +14,7 @@ FROM registry.sindominio.net/debian
RUN apt-get update && \
apt-get install -y --no-install-recommends curl gnupg2 ca-certificates git
# Install Node Latest
# Instalar Node Latest
RUN curl -sL https://deb.nodesource.com/setup_12.x | bash - && \
apt-get install -y nodejs
@ -21,23 +26,25 @@ RUN echo "deb http://deb.debian.org/debian buster-backports main" >> /etc/apt/so
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 -
# Install Yarn
# 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 && \
cd gancio && \
git checkout $GANCIO_VERSION
WORKDIR /opt/gancio
# Instalar dependencias de desarrollo, compilar y empaquetar
RUN yarn install && \
yarn build && \
yarn pack --filename=gancio.tgz
## Docker para EJECUCION de Gancio
## 2da Etapa: EJECUCION de Gancio
##
## - Usa la libreria Gancio compilada antes
## - Instala todas las dependencias de produccion
@ -49,10 +56,11 @@ FROM registry.sindominio.net/debian
RUN apt-get update && \
apt-get install -y --no-install-recommends curl gnupg2 ca-certificates git
# Install Node Latest
# 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 && \
@ -61,11 +69,16 @@ RUN tar zxf gancio.tgz && \
WORKDIR /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
RUN useradd -u 110 -g nogroup gancio
# Crear usuaria gancio para ejecutar el servicio
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

4
docker-compose.yml

@ -8,6 +8,6 @@ services:
container_name: gancio
command: [ "gancio start --docker --db=sqlite" ]
volumes:
- ./data:/opt/gancio
- $GANCIO_DATA_PATH:/opt/gancio
ports:
- "127.0.0.1:13120:13120"
- "127.0.0.1:$GANCIO_PORT:13120"

Loading…
Cancel
Save