Docker is the recommended way to run Catroweb locally and it is closest to CI.
cd docker
docker compose -f docker-compose.dev.yaml up -d --buildOpen:
- App: http://localhost:8080/
- phpMyAdmin: http://localhost:8081/
The dev compose file starts:
app.catroweb(Apache + PHP application)db.catroweb.dev(MariaDB for dev)db.catroweb.test(MariaDB for tests)phpmyadmin.catroweb.develasticsearchchrome.catroweb(headless browser for Behat)
cd docker
docker compose -f docker-compose.dev.yaml up -d
docker compose -f docker-compose.dev.yaml downcd docker
docker compose -f docker-compose.dev.yaml build --no-cache app.catroweb
docker compose -f docker-compose.dev.yaml up -ddocker exec -it app.catroweb php bin/console catrobat:reset --hard
docker exec -it app.catroweb bin/phpunit tests
docker exec -it app.catroweb bin/behat -s web-generalcd docker
docker compose -f docker-compose.dev.yaml logs -f app.catrowebcd docker
docker compose -f docker-compose.test.yaml up -d --build- Source directories like
src/,assets/,templates/, andtests/are mounted for live editing. vendor/andnode_modules/are built in the image and are not host-mounted by default.- If you need those folders locally for IDE indexing, run:
sh docker/app/import-container-libraries.sh- Add a Docker Compose run configuration pointing to
docker/docker-compose.dev.yaml. - Use it to start/stop containers and inspect logs from the IDE.