summaryrefslogtreecommitdiff
path: root/README.md
diff options
context:
space:
mode:
Diffstat (limited to 'README.md')
-rw-r--r--README.md48
1 files changed, 39 insertions, 9 deletions
diff --git a/README.md b/README.md
index 5bb0398a..f564c71d 100644
--- a/README.md
+++ b/README.md
@@ -10,16 +10,19 @@ To report bugs use [engelsystem/issues](https://github.com/engelsystem/engelsyst
## Installation
### Requirements:
- * PHP >= 7.0.0
+ * PHP >= 7.0
* MySQL-Server >= 5.5 or MariaDB-Server >= 5.5
* Webserver, i.e. lighttpd, nginx, or Apache
+ * Node >= 8 (Development/Building only)
+ * Yarn (Development/Building only)
### Directions:
* Clone the master branch: `git clone https://github.com/engelsystem/engelsystem.git`
- * Install [Composer](https://getcomposer.org/download/)
+ * Install [Composer](https://getcomposer.org/download/) and [Yarn](https://yarnpkg.com/en/docs/install) (which requires [Node.js](https://nodejs.org/en/download/package-manager/))
* Install project dependencies:
```bash
composer install
+ yarn
```
On production systems it is recommended to use
```bash
@@ -27,14 +30,20 @@ To report bugs use [engelsystem/issues](https://github.com/engelsystem/engelsyst
composer dump-autoload --optimize
```
to install the engelsystem
- * The webserver must have write access to the 'import' directory and read access for all other directories
- * The webserver must point to the public directory.
+ * Build the frontend assets
+ ```bash
+ yarn build
+ ```
+
+ * The webserver must have write access to the ```import``` directory and read access for all other directories
+ * The webserver must point to the ```public``` directory.
+ * The webserver must read the ```.htaccess``` file and ```mod_rewrite``` must be enabled
* Recommended: Directory Listing should be disabled.
* There must a be MySQL database created with a user who has full rights to that database.
- * If necessary, create a config/config.php to override values from config/config.default.php.
- * To import the database the `bin/migrate` script has to be called.
- * In the browser, login with credentials admin:asdfasdf and change the password.
+ * If necessary, create a ```config/config.php``` to override values from ```config/config.default.php```.
+ * To import the database the ```bin/migrate``` script has to be called.
+ * In the browser, login with credentials ```admin```:```asdfasdf``` and change the password.
Engelsystem can now be used.
@@ -68,11 +77,32 @@ To use the deployment features the following secret variables need to be defined
```bash
SSH_PRIVATE_KEY # The ssh private key
STAGING_REMOTE # The staging server, e.g. user@remote.host
-STAGING_REMOTE_PATH # The psth on the remote server, e.g. /var/www/engelsystem
+STAGING_REMOTE_PATH # The path on the remote server, e.g. /var/www/engelsystem
PRODUCTION_REMOTE # Same as STAGING_REMOTE but for the production environment
PRODUCTION_REMOTE_PATH # Same as STAGING_REMOTE_PATH but for the production environment
```
+### Docker container
+To build the `engelsystem` and the `engelsystem-nginx` container:
+```bash
+cd contrib
+docker-compose build
+```
+
+or to build the containers separately
+```bash
+docker build -f contrib/Dockerfile . -t engelsystem
+docker build -f contrib/nginx/Dockerfile . -t engelsystem-nginx
+```
+
+Import database
+```bash
+docker exec -i db_container mysql -u engelsystem -pengelsystem engelsystem < db/install.sql
+docker exec -i db_container mysql -u engelsystem -pengelsystem engelsystem < db/update.sql
+```
+
+To be able to send mails a relay is needed. Set `SMTPHOST=[mail container]` to configure it.
+
#### Scripts
##### bin/deploy.sh
The `bin/deploy.sh` script can be used to deploy the engelsystem. It uses rsync to deploy the application to a server over ssh.
@@ -82,7 +112,7 @@ For usage see `./bin/deploy.sh -h`
##### bin/migrate
The `bin/migrate` script can be used to import and update the database of the engelsystem.
-For more information on how to use it call `bin/migrate help`
+For more information on how to use it call `./bin/migrate help`
### Codestyle
Please ensure that your pull requests follow [PSR-2](http://www.php-fig.org/psr/psr-2/) and [PSR-4](http://www.php-fig.org/psr/psr-4/).