xfiveco / generator-chisel

Chisel is a development framework for creating easy to maintain and fast WordPress websites.
https://www.getchisel.co
MIT License
270 stars 37 forks source link

Lando - database setup issues #310

Closed Kwapi closed 5 years ago

Kwapi commented 6 years ago

When running yo chisel from a directory that has a lando container there are issues with the database setup.

There's two breaking points:

  1. The initial check to make sure the database host is reachable after putting in the database host and port values
  2. The creation of a new database

The final wp-config for Lando should have their internal_connection values but putting them at the 1st step results in a failed connection (probably because it's not run within the docker). Disabling that check could help move things forward. The other option is to put the external_connection values which pass the 1st step but then break at the 2nd step when WP-CLI is trying to set-up a new database and it requires the internal_connection values.

Have you guys considered Docker setups?

jakub300 commented 6 years ago

Hey,

I'm not familiar with Lando but my understanding is that you are using Lando only to provide AMP (apache, mysql, php) environment while running chisel itself outside of docker.

We are aware of the complexity of Chisel dependencies and plan to create docker environment for Chisel (#205). Compared to your setup our goal is to run everything inside Docker (including node) making Docker only required software. In your setup you still need node (to create, build projects), php and mysql (for wp-cli) outside of docker.

You may try to configure things to have the same host and port internally and externally, for example, adding host database to /etc/hosts but I don't think we are going to specifically support such mixed environments in Chisel.

kristjankoppel commented 6 years ago

+1 to Kwapi

We use also Lando and bumped on same problem. I get error like: /usr/local/lib/node_modules/generator-chisel/helpers/index.js:21 throw err; ^ Error when checking database,,env: mysqlcheck: No such file or directory

And plugins are not installed and database is not set up. I get that you try to configure Docker on your own but Lando is part of a stack and all the work don't end up only with WP+Docker and Chisel :)

Have a try: https://docs.devwithlando.io

luboskmetko commented 6 years ago

@kristjankoppel I hear you, but for me the problem is that Lando requires Windows 10 Pro+ with Hyper-V. I'm on Windows 10 Home so never had a chance to try it out to see what we could do. Ideally, we'd like to come up with such Docker solution which can be run on Windows 10 Home too, however currently our availability to work on it is limited.

So we appreciate if you figure out how Chisel could run on Lando and are ready to accept a PR. I've noticed it should be possible to add Node, etc. to Lando too, shouldn't it - https://docs.devwithlando.io/tutorials/frontend.html? If so, maybe you could create the same solution as we planned with Lando (except that it still won't run on Windows Home).

Similarly, one developer created a Vagrant config for Chisel https://github.com/robertguss/Vagrant-Chisel

kristjankoppel commented 6 years ago

@luboskmetko I'm using Mac.

But you are correct. I'll try make lando "recipe" that would include node, npm/yarn, etc...Then it would be possible to do something like "lando yo chisel" and everything should then run inside docker containers and lando.

At the moment i had some problem with lando itself(latest beta release) so i need to start with that :) Keep you posted if any success.