wikimedia / shellbox
Library and server for containerized shell execution
Requires
- php: >=7.4.3
- ext-hash: *
- ext-json: *
- guzzlehttp/guzzle: ^7.9.2
- monolog/monolog: ^2.0.0
- psr/log: ~1.1.3
- wikimedia/base-convert: 2.0.2
- wikimedia/wikipeg: ^4.0.0
Requires (Dev)
- mediawiki/mediawiki-codesniffer: 44.0.0
- mediawiki/mediawiki-phan-config: 0.14.0
- mediawiki/minus-x: 1.1.3
- ockcyp/covers-validator: 1.6.0
- php-parallel-lint/php-console-highlighter: 1.0.0
- php-parallel-lint/php-parallel-lint: 1.4.0
- phpunit/phpunit: 9.6.16
- psy/psysh: ~0.10.4
README
Shellbox is a library and server for containerized shell execution.
More information on how to set up and configure Shellbox is available at https://www.mediawiki.org/wiki/Shellbox.
Set up your dev environment
Granted you have docker-compose installed, and that you can issue docker commands as your user, you can have a working development setup by running
$ make run
this will build an appropriate container for your application (if not present) and run the whole httpd/php-fpm combo for you, and listen on port 8080. It will use your local source as a volume, so you will be able to see changes in the code reflected in responses from the daemon instantly.
If you change the dependencies, and thus composer.json or composer.lock, you will have to force a rebuild of the container, by using
$ make rebuild
To run the tests that run in CI locally (also via docker), you need can use make test
.