moodlehq / moodle-docker

A docker environment for moodle developers
GNU General Public License v3.0
373 stars 244 forks source link

Windows PowerShell Quick Start #192

Open jvanalst opened 2 years ago

jvanalst commented 2 years ago

Any chance of an update to the Quick Start instructions for Windows PowerShell (which uses different environment variable syntax)?

e.g.

Set up path to Moodle code

$Env:MOODLE_DOCKER_WWWROOT="/path/to/moodle/code"

Choose a db server (Currently supported: pgsql, mariadb, mysql, mssql, oracle)

$Env:MOODLE_DOCKER_DB="pgsql"

Ensure customized config.php for the Docker containers is in place

cp config.docker-template.php $Env:MOODLE_DOCKER_WWWROOT/config.php

Start up containers

bin/moodle-docker-compose up -d

Wait for DB to come up (important for oracle/mssql)

this bash script doesn't work in Windows (unlike moodle-docker-compose-up that has a .cmd equivalent) bin/moodle-docker-wait-for-db

Work with the containers (see below)

[..]

Shut down and destroy containers

bin/moodle-docker-compose down

stronk7 commented 2 years ago

Hi @jvanalst,

this is, indeed, a good idea!

Main problem is that basically all us (maintainers @ HQ) do use unix/shell environments (linux, mac...) and don't have any Windows machine at hand (neither, surely, and more important, expertise enough with CMD/PS). In fact, right now, I think that the cmd alternative is not 100% equivalent to the shell one (the basis should work ok, but some of the details, customizations, surely are missing with CMD).

But any pull request, helping with the implementation or the docs/readme is welcome!

Also, we have some PRs, like #117 (about to add a PS version), or #131 (about adding docker own health-checks to replace the current "wait-for-xxx" scripts...

So, yes, I think that with a little of help we can improve current support for CMD/PS.

Ciao :-)

terrycampbell commented 2 years ago

Just a thought for the future, one advantage Powershell could bring is that it will run on Windows, Mac and Linux just fine, allowing us to have only a single codebase to maintain. Just requires installation of Powershell Core. Note. it also works fine within the containers if desired (e.g., for wait functions). I consider the Powershell learning curve to be relatively shallow and the resulting code can be quite readable.