# Deploy en Entornos de Desarrollo

Se requiere contar con Docker-Engine instalado en el ambiente de desarrollo a desplegar (de ahora en mas, "devenv"). El mismo puede ser desplegado en diferentes sistemas operativos, como Linux, Mac, o Win$:

* [Docker Install documentation](https://docs.docker.com/get-docker/)

Acto seguido, se procede al clonado del repositorio para trabajar en su configuración y despliegue. Es importante accesar al directorio de development-env para ejecutar el deploy:

```
git clone https://gitlab.com/omnileads/omldeploytool.git
cd omldeploytool/development-env/
```

El entorno de desarrollo ("devenv") de OMniLeads plantea un docker-compose.yml que mapea algunos repositorios dentro de algunos contenedores.

Tomamos como ejemplo el código de Django; allí se puede observar cómo el código dentro del servicio app se mapea.

```
volumes:
  - ${REPO_PATH}/omlapp/:/opt/omnileads/ominicontacto/
```

El deploy del entorno implica la creación de un directorio de nombre *omnileads-repos* para allí clonar todos los repositorios de los componentes de OMniLeads.

Para levantar el entorno de desarrollo se deberá ejecutar por única vez el script de deploy.sh tal cual se indica debajo:

```
$ ./deploy.sh --os_host= --gitlab_clone=
```

Donde os\_host puede ser: "*linux"*, "*mac"* o "*win"*. Mientras que gitlab\_clone puede equivaler a "*ssh"* o "*https"* a la hora de elegir por el método que se utilizará para clonar los repos.

Además de clonar los repos, el deploy.sh se encarga de setear MinIO (Object Storage) para que las grabaciones y media\_root (django) operen bajo un bucket provisto por el propio servicio de MinIO.

Debajo una salida de ejemplo al momento de utilizar el método "https" de clonado, y su correspondiente lanzamiento de containers:

<figure><img src="/files/rTyfAWMljplt9mx4qBrc" alt=""><figcaption></figcaption></figure>

### Reset de Django pass <a href="#user-content-reset-django-pass" id="user-content-reset-django-pass"></a>

```
./manage.sh --reset_pass
```

### Inicializar entorno con datos de pruebas <a href="#user-content-inicializar-entorno-con-datos-de-pruebas" id="user-content-inicializar-entorno-con-datos-de-pruebas"></a>

```
./manage.sh --init_env
```

### Variables <a href="#user-content-variables" id="user-content-variables"></a>

Todas las variables implicadas en el docker-compose se pueden leer/editar sobre el archivo .env.

### Build de imágenes <a href="#user-content-build-de-imagenes" id="user-content-build-de-imagenes"></a>

Los servicios: nginx, rtpengine, acd (asterisk), kamailio y app presentan la posibilidad de ser buildeados desde el compose. Por ejemplo:

```
docker-compose build app
```

En el apartado de [First Login](/instalacion-de-omnileads/first-login.md), se pueden revisar los pasos necesarios para obtener el primer acceso a la UI con usuario Administrador.

Para mayor información, sugerimos visitar la documentación expuesta en el [repositorio oficial del proyecto](https://gitlab.com/omnileads/omldeploytool).


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.omnileads.net/instalacion-de-omnileads/deploy-en-entornos-de-desarrollo.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
