Commit 7b7806d3 authored by Noel Alonso's avatar Noel Alonso
Browse files

Actualiza y completa config de docker

Especifica fase de build en docker-compose
Añade valores por defecto en Dockerfile y .env
Actualiza docker-compose añadiendo variables y modificando estructura
Añade SPRING_PROFILES_ACTIVE en docker-compose
Añade arranque de dependencias en maven-build
parent 7d11caf2
Loading
Loading
Loading
Loading
+8 −2
Original line number Diff line number Diff line
ARG PARENT_IMAGE_NAME
ARG PARENT_IMAGE_TAG
ARG PARENT_IMAGE_NAME=registry.gitlab.com/redmic-project/docker/redmic-server
ARG PARENT_IMAGE_TAG=latest

FROM ${PARENT_IMAGE_NAME}:${PARENT_IMAGE_TAG}

COPY /dist/*.jar ./

ARG MICROSERVICE_NAME=user
ENV MICROSERVICE_NAME=${MICROSERVICE_NAME}

ARG MICROSERVICE_PORT=8082
ENV MICROSERVICE_PORT=${MICROSERVICE_PORT}

EXPOSE ${MICROSERVICE_PORT}
+3 −0
Original line number Diff line number Diff line
PARENT_IMAGE_NAME=registry.gitlab.com/redmic-project/docker/redmic-server
PARENT_IMAGE_TAG=latest

MICROSERVICE_NAME=user
MICROSERVICE_PORT=8082
PROPERTY_CONTACTREDMIC=user@example.com
+6 −7
Original line number Diff line number Diff line
@@ -2,14 +2,13 @@ version: '3.5'

services:
  user:
    ports:
      - target: ${MICROSERVICE_PORT}
        published: ${MICROSERVICE_PORT}
        mode: host
    environment:
      SPRING_PROFILES_ACTIVE: pre
    deploy:
      resources:
        limits:
          cpus: '0.5'
          memory: 512M
          cpus: '${RESOURCES_LIMITS_CPUS:-0.5}'
          memory: ${RESOURCES_LIMITS_MEMORY:-512M}
        reservations:
          memory: 410M
          cpus: '${RESOURCES_RESERVATIONS_CPUS:-0.001}'
          memory: ${RESOURCES_RESERVATIONS_MEMORY:-410M}
+6 −6
Original line number Diff line number Diff line
@@ -2,13 +2,13 @@ version: '3.5'

services:
  user:
    environment:
      SPRING_PROFILES_ACTIVE: prod
    deploy:
      placement:
        constraints:
          - node.role == worker
      resources:
        limits:
          cpus: '0.5'
          memory: 1G
          cpus: '${RESOURCES_LIMITS_CPUS:-0.5}'
          memory: ${RESOURCES_LIMITS_MEMORY:-1G}
        reservations:
          memory: 820M
 No newline at end of file
          cpus: '${RESOURCES_RESERVATIONS_CPUS:-0.001}'
          memory: ${RESOURCES_RESERVATIONS_MEMORY:-820M}
+36 −21
Original line number Diff line number Diff line
@@ -2,45 +2,60 @@ version: '3.5'

services:
  user:
    image: ${IMAGE_NAME}:${IMAGE_TAG:-latest}
    image: ${IMAGE_NAME:-registry.gitlab.com/redmic-project/server/user}:${IMAGE_TAG:-latest}
    build:
      context: ..
      dockerfile: ${DOCKERFILE:-Dockerfile}
      args:
        PARENT_IMAGE_NAME:
        PARENT_IMAGE_TAG:
        MICROSERVICE_NAME:
        MICROSERVICE_PORT:
    environment:
      - MICROSERVICE_NAME
      - MICROSERVICE_PORT
      - SPRING_PROFILES_ACTIVE
      - SPRING_DATASOURCE_USERNAME
      - SPRING_DATASOURCE_PASSWORD
      - OAUTH_CLIENT_ID
      - OAUTH_CLIENT_SECRET
      - RECAPTCHA_SECRET
      - PROPERTY_CONTACTREDMIC
      - JAVA_OPTS=-XX:MaxRAMFraction=2
      MICROSERVICE_NAME:
      MICROSERVICE_PORT:
      SPRING_DATASOURCE_USERNAME:
      SPRING_DATASOURCE_PASSWORD:
      SPRING_DATASOURCE_URL:
      OAUTH_CLIENT_ID:
      OAUTH_CLIENT_SECRET:
      RECAPTCHA_SECRET:
      PROPERTY_CONTACTREDMIC:
      JAVA_OPTS: -XX:MaxRAMFraction=2
    networks:
      - postgres-net
      - redmic-net
      - traefik-net
      postgres-net:
      redmic-net:
      traefik-net:
    healthcheck:
      test: wget --spider -q http://localhost:${MICROSERVICE_PORT}/api/${MICROSERVICE_NAME}/actuator/health
      interval: 30s
      timeout: 10s
      retries: 3
      start_period: 2m
      interval: ${HEALTHCHECK_INTERVAL:-30s}
      timeout: ${HEALTHCHECK_TIMEOUT:-10s}
      retries: ${HEALTHCHECK_RETRIES:-3}
      start_period: ${HEALTHCHECK_START_PERIOD:-2m}
    deploy:
      mode: replicated
      replicas: 1
      replicas: ${REPLICAS:-1}
      labels:
        traefik.frontend.rule: Host:${PUBLIC_HOSTNAME};PathPrefix:/api/${MICROSERVICE_NAME}
        traefik.backend: ${MICROSERVICE_NAME}
        traefik.port: "${MICROSERVICE_PORT}"
      restart_policy:
        delay: 1m
        window: 3m
        delay: ${RESTART_DELAY:-1m}
      update_config:
        delay: ${UPDATE_DELAY:-2m}

networks:
  postgres-net:
    name: ${POSTGRES_NET_NAME:-postgres-net}
    driver: ${POSTGRES_NET_DRIVER:-overlay}
    external: true

  redmic-net:
    name: ${REDMIC_NET_NAME:-redmic-net}
    driver: ${REDMIC_NET_DRIVER:-overlay}
    external: true

  traefik-net:
    name: ${TRAEFIK_NET_NAME:-traefik-net}
    driver: ${TRAEFIK_NET_DRIVER:-overlay}
    external: true