From fe4d948dcbf22c5f30d5f82b13d1a8037ed44f2e Mon Sep 17 00:00:00 2001 From: adorda <angdmz@gmail.com> Date: Wed, 10 Jun 2020 14:47:14 -0300 Subject: [PATCH] docker-compose mejorados, README actualizado --- README.md | 16 +++++++++++++--- docker-compose.yml | 9 +++++++++ startup.sh | 4 ++++ 3 files changed, 26 insertions(+), 3 deletions(-) create mode 100644 startup.sh diff --git a/README.md b/README.md index d32cebb..f4016e0 100644 --- a/README.md +++ b/README.md @@ -31,8 +31,14 @@ cd /carpeta/del/proyecto/ docker-compose -f docker-compose.yml up -d ``` -Esto levantará la aplicación con un usuario superadmin "admin" con contraseña "Clave123!" +Este docker-compose.yml hace los siguientes pasos: +- crea la carpeta logs/ y crea el archivo trazabilidad/local_settings.py a partir de trazabilidad/local_settings_dev.py +- levanta una blockchain mock de Ganache +- inicia las migraciones de django, sólo deberÃan ser las básicas, y usando SQLite +- crea un usuario de django con permisos de superadmin con nombre "admin" y con contraseña "Clave123!" +- levanta la aplicación +Opciones #### Si se está usando PyCharm Ir a Settings-> Project Interpreter y elegir Remote Python 3.5 Docker @@ -71,14 +77,18 @@ python manage.py unlock_account #### Si el smart contract del negocio no está deployado: -- Loggear en el admin +- Loggear en el admin, en el endpoint /admind - Ir a Config Constance En la sección Contract Info cargar - bytecode del contrato - ABI del contrato Estos se pueden conseguir compilando el contrato con el código que está en la carpeta smart_contract/ - La aplicación no tiene funcionalidad para compilar código de solidity, pero se puede usar la IDE online Remix para compilar el código, y asà obtener el ABI y el ByteCode + La aplicación no tiene funcionalidad para compilar código de solidity, pero se puede usar la IDE online Remix para compilar el código, y asà obtener el ABI y el ByteCode. + + También en la carpeta smart_contract/ dentro del directorio del proyecto están el archivo abi.json y bytecode, que tienen respectivamente el ABI y el código del compilado de la versión de trazabilidadFactory.sol que está en la misma carpeta + +Ahora se pueden hacer 2 cosas para deployar el smart contract - Ahora en consola ```sh diff --git a/docker-compose.yml b/docker-compose.yml index 00e321d..9271f1f 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -6,6 +6,13 @@ services: - ${GANACHE_RPC_PORT:-8545}:8545 command: '-b 1' container_name: ganache + setup: + image: alpine + container_name: trazabilidad-setup + working_dir: /opt/project + volumes: + - .:/opt/project + command: ["sh", "startup.sh"] api: build: dockerfile: Dockerfile @@ -34,6 +41,8 @@ services: environment: DEBUG: ${DEBUG:-1} SECRET_KEY: ${SECRET_KEY:-secret} + depends_on: + - setup superuser: depends_on: - migrations diff --git a/startup.sh b/startup.sh new file mode 100644 index 0000000..59745e9 --- /dev/null +++ b/startup.sh @@ -0,0 +1,4 @@ +#!/usr/bin/env bash + +mkdir -p logs +cp trazabilidad/local_settings_dev.py trazabilidad/local_settings.py \ No newline at end of file -- GitLab