Instalar Frappe y ErpNext usando Docker developer mode en Linux y Mac
Tutorial oficial de referencia :
https://github.com/frappe/frappe_docker/tree/develop/development
Instalado en laptop MAC con linux Pop 21.04, basado en Ubuntu 20.04 LTS
Siguiendo el tutorial al pie de la letra he podido repetir la instalación en otros equipos.
Validado instalando en Mac OS 10.13.6
$ git clone https://github.com/frappe/frappe_docker.git
$ cd frappe_docker
Copy container example carpet, can be edited !!
$ cp -R devcontainer-example .devcontainer
mysql password es 123
tiene 2 archivos de configuración editables a gusto
Asegurarse de haber instalado en Visual Code la extensión Remote Container
Iniciar el VSCode
$ code . # Debe ser de la carpeta frappe_docker recién clonada de git
Si has instalado la extensión Remote Container … dentro de visual code dar click en opción de Reiniciar desde contenedor y View Logs
Descarga de images, inicio de containers, …. Se tarda bastante dependiendo de capacidad de red y configuración de equipo.
Puedes ver si ya están creados los containers con $docker ps
Desde la terminal dentro del container en el VSCode inicializar frappe, debes iniciar otra terminal desde el vscode
$ bench init --skip-redis-config-generation --frappe-branch version-13 frappe-bench
$ cd frappe-bench # la carpeta frappe-bench se crea en el container y en tu computador host en mi caso
/home/untaldouglas/apps/frappe_docker/development/frappe-bench
Setup hosts : We need to tell bench to use the right containers instead of localhost. Run the following commands inside the container:
$ bench set-mariadb-host mariadb
$ bench set-redis-cache-host redis-cache:6379
$ bench set-redis-queue-host redis-queue:6379
$ bench set-redis-socketio-host redis-socketio:6379
Crear site en mi instalación usando bench
$ bench new-site admision.localhost --no-mariadb-socket # mysql pwd es 123 por omisión
IMPORTANTE : Te solicita password de Administrator, guardarlo douglas123
Pudiste usar de una vez este comando :
$ bench new-site admision.localhost --mariadb-root-password 123 --admin-password douglas123 --no-mariadb-socket
Set bench developer mode on the new site : To develop a new app, the last step will be setting the site into developer mode. Documentation is available at this link.
$ bench --site admision.localhost set-config developer_mode 1
$ bench --site admision.localhost clear-cache
To install ERPNext :
$ bench get-app --branch version-13 erpnext https://github.com/frappe/erpnext.git
$ bench --site admision.localhost install-app erpnext # instala erpnext en mi site
Start Frappe without debugging
Execute following command from the frappe-bench directory.
$ cd frappe-bench
$ bench start
Visitar desde el navegador http://admision.localhost:8000
Administrator >>> douglas123
Instalas ErpNext a tu gusto !!
Para probar la edición bidireccional desde y hacia tu computador host < == > container :
Crea un archivo desde la carpeta /home/untaldouglas/apps/frappe_docker/development/frappe-bench/apps/erpnext
$ touch nuefile.txt
Lo puedes ver en directorio de vscode en container
Editarlo desde vscode y si funciona
Crear user diferente a Administrator galindo@untaldouglas.info douglas123@
Edité un formulario de appointment booking para que ya no saliera skype
Voy a apagar/cerrar VSCode para saber si conserva el cambio, el cambio se hizo en :
/workspace/development/frappe-bench/apps/erpnext/erpnext/www/book_appointment/index.html
Validé que el cambio está aplicado en el archivo en mi computador !!!
Hoy iniciaré nuevamente VSCode desde carpeta principal de trabajo
$ code . # Debe ser de la carpeta frappe_docker recién clonada de git
*** dar click en reopen en container y view logs
Revisar el archivo /workspace/development/frappe-bench/apps/erpnext/erpnext/www/book_appointment/index.html
Y el cambio se mantiene !!!!
Como hago para Reiniciar app ??
Desde VSCode habiendo iniciado desde container, abrir terminal; caes dentro de container en carpeta raiz de development /workspace/development
Cambiarte a carpeta
$ cd frappe-bench
$ bench start
Visita el sitio en navegador http://admision.localhost:8000 y wala !!! estas de regreso. Y al hacer un appointment nuevamente, still no aparece el skype campo en el formulario. Exito.
========================================================================
In case you don't use VSCode, you may start the containers manually with the following command:
Running the containers
$ docker-compose -f .devcontainer/docker-compose.yml up -d
And enter the interactive shell for the development container with the following command:
$ docker exec -e "TERM=xterm-256color" -w /workspace/development -it devcontainer_frappe_1 bash
Comments