Once done you can run `php vendor/bin/phpunit` in the application root directory to run all tests.
+## Getting started with Development using Docker
+
+This repository ships with a Docker Compose configuration intended for development purposes. It'll build a PHP image with all needed extensions installed and start up a MySQL server and a Node image watching the UI assets.
+
+To get started, make sure you meet the following requirements:
+
+- Docker and Docker Compose are installed
+- Your user is part of the `docker` group
+- Composer is installed
+
+If all the conditions are met, you can proceed with the following steps:
+
+1. Install Composer dependencies with **`docker-compose run app composer install`** (first time can take a while because the image has to be built)
+2. **Copy `.env.example.docker-development` to `.env`** and change `APP_KEY` to a random 32 char string
+3. Make sure **port 8080 is unused** *or else* change `DEV_PORT` to a free port on your host
+4. **Run `chgrp -R docker storage`**. The development container will chown the `storage` directory to the `www-data` user inside the container so BookStack can write to it. You need to change the group to your host's `docker` group here to not lose access to the `storage` directory
+5. **Run `docker-compose up`** and wait until all database migrations have been done
+6. **If you're starting the server for the first time**, seed the database in a separate terminal session:
+ ```php
+ docker-compose exec app php artisan db:seed --class=DummyContentSeeder --database=mysql_docker_dev
+ ```
+7. You can now login with `
[email protected]` and `admin` as password on `localhost:8080` (or another port if specified)
+
## Translations
All text strings can be found in the `resources/lang` folder where each language option has its own folder. To add a new language you should copy the `en` folder to an new folder (eg. `fr` for french) then go through and translate all text strings in those files, leaving the keys and file-names intact. If a language string is missing then the `en` translation will be used. To show the language option in the user preferences language drop-down you will need to add your language to the options found at the bottom of the `resources/lang/en/settings.php` file. A system-wide language can also be set in the `.env` file like so: `APP_LANG=en`.