Saltar al contenido

Instale el complemento de redmine usando el contenedor docker

Te traemos el arreglo a esta cuestión, o por lo menos eso pensamos. Si continuas con preguntas dínoslo, que sin pensarlo

Solución:

Puede conservar complementos entre recreaciones de contenedores agregando volúmenes de datos adicionales para conservarlos. Desde la generación de contenedores docker sin docker-compose es un dolor, déjame usarlo para una explicación más detallada.

1. Crear docker-compose.yml describiendo su configuración

Debería crear dos servicios (uno para MySQL y Redmine) en una red puente separada:

version: '2'

networks:
  redmine-network:

volumes:
  redmine-plugins:
  redmine-themes:
  redmine-data:

services:
  mysql-for-redmine:
    image: mysql:5.6
    networks:
      - redmine-network
    volumes:
      # Consider using separate volume containers
      # instead of host directory mounts.
      - /my/custom:/etc/mysql/conf.d
      - /storage/mysql/datadir:/var/lib/mysql
    environment:
      MYSQL_ROOT_PASSWORD: ""
      MYSQL_DATABASE:      "redmine"

  redmine:
    image: redmine:3.3-passenger
    ports:
      - 3000:3000
    networks:
      - redmine-network
    volumes:
      - redmine-plugins:/usr/src/redmine/plugins
      - redmine-themes:/usr/src/redmine/public/themes
      - redmine-data:/usr/src/redmine/files
    environment:
      # Host name matches the MySQL container name.
      REDMINE_DB_MYSQL:        "mysql-for-redmine"
      REDMINE_DB_USERNAME:     "root"
      REDMINE_DB_PASSWORD:     ""
      REDMINE_SECRET_KEY_BASE: "..."
    restart: always

2. Implementa tu configuración

Simplemente ejecuta docker-compose up -d desde el directorio donde puso su archivo de configuración.

3. Instale sus complementos (y temas) manualmente

Encuentre el nombre del contenedor que ejecuta Redmine con docker ps; en mi sistema es root_redmine_1. Ejecute lo siguiente para adjuntarlo:

# docker exec -ti root_redmine_1 gosu redmine bash

Abrirá un caparazón para el usuario "redmine" dentro del contenedor. Usar wget y tar xjf para descargar y extraer los complementos que necesita. Salga del caparazón cuando haya terminado.

4. Reinicie su instancia para verificar si los complementos funcionan

Emitir docker restart root_redmine_1 comando y ver si está funcionando como se suponía. Dado que los complementos se colocan en un volumen de datos separado, también deberían sobrevivir a la recreación del contenedor.

No es necesario explicar lo que se dijo en el nivel docker-composer

version: '3'
services:

  redmine:
    image: redmine
    restart: always
    ports:
      - 3000:3000
    environment:
      - REDMINE_DB_MYSQL=mysql_redmine
      - REDMINE_DB_USERNAME=root
      - REDMINE_DB_PASSWORD=pass
      - REDMINE_PLUGINS_MIGRATE=true
    volumes:
      - ./redmine_data:/usr/src/redmine/files
      - ./redmine-plugins:/usr/src/redmine/plugins

  mysql_redmine:
    image: mysql:5.7
    restart: always
    environment:
      - MYSQL_ROOT_PASSWORD=pass
      - MYSQL_DATABASE=redmine
    volumes:
      - ./mysql-data_red:/var/lib/mysql 

La variable de entorno REDMINE_PLUGINS_MIGRATE da la posibilidad de migrar directamente sus complementos! además no hay necesidad de entrar en el contenedor

Ahora solo necesitas usar git submodule add con tu plugin git repositorio en ./redmine-plugins

Te mostramos reseñas y valoraciones

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada.