diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 00000000..dfdb8b77 --- /dev/null +++ b/.gitattributes @@ -0,0 +1 @@ +*.sh text eol=lf diff --git a/.github/FUNDING.yml b/.github/FUNDING.yml index 40005024..cc034fc9 100644 --- a/.github/FUNDING.yml +++ b/.github/FUNDING.yml @@ -3,3 +3,4 @@ github: Mahmoudz open_collective: laradock custom: ['paypal.me/mzmmzz'] +patreon: zalt diff --git a/.github/home-page-images/custom-sponsors/apiato.png b/.github/home-page-images/custom-sponsors/apiato.png new file mode 100644 index 00000000..bdef27ea Binary files /dev/null and b/.github/home-page-images/custom-sponsors/apiato.png differ diff --git a/.github/home-page-images/custom-sponsors/bestonlinecasino.jpg b/.github/home-page-images/custom-sponsors/bestonlinecasino.jpg new file mode 100644 index 00000000..85e15a53 Binary files /dev/null and b/.github/home-page-images/custom-sponsors/bestonlinecasino.jpg differ diff --git a/.github/workflows/main-ci.yml b/.github/workflows/main-ci.yml new file mode 100644 index 00000000..e01d283a --- /dev/null +++ b/.github/workflows/main-ci.yml @@ -0,0 +1,19 @@ +name: CI + +on: [push, pull_request] + +jobs: + build: + runs-on: ubuntu-latest + strategy: + matrix: + php_version: ["7.1", "7.2", "7.3", "7.4"] + service: [php-fpm, php-worker, workspace, laravel-horizon] + steps: + - uses: actions/checkout@v2 + - name: Build the Docker image + env: + PHP_VERSION: ${{ matrix.php_version }} + run: | + cp env-example .env + docker-compose build ${{ matrix.service }} diff --git a/.gitignore b/.gitignore index e215d357..45d4e72a 100644 --- a/.gitignore +++ b/.gitignore @@ -17,4 +17,6 @@ !/.devcontainer/devcontainer.example.json !/.devcontainer/docker-compose.extend-example.yml +docker-compose.custom.yml + .DS_Store diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml deleted file mode 100644 index 41f37b9b..00000000 --- a/.gitlab-ci.yml +++ /dev/null @@ -1,62 +0,0 @@ -# image: docker:latest -# services: -# - docker:dind -image: jonaskello/docker-and-compose:1.12.1-1.8.0 -services: - - docker:1.12.1-dind - -before_script: - - docker info - - docker-compose version - - cp env-example .env - - sed -i -- "s/=false/=true/g" .env - - cat .env - - env | sort - -build:5.6:php-fpm: - variables: - PHP_VERSION: "5.6" - script: - - docker-compose build php-fpm - -build:7.0:php-fpm: - variables: - PHP_VERSION: "7.0" - script: - - docker-compose build php-fpm - -build:7.1:php-fpm: - variables: - PHP_VERSION: "7.1" - script: - - docker-compose build php-fpm - -build:7.2:php-fpm: - variables: - PHP_VERSION: "7.2" - script: - - docker-compose build php-fpm - -build:5.6:workspace: - variables: - PHP_VERSION: "5.6" - script: - - docker-compose build workspace - -build:7.0:workspace: - variables: - PHP_VERSION: "7.0" - script: - - docker-compose build workspace - -build:7.1:workspace: - variables: - PHP_VERSION: "7.1" - script: - - docker-compose build workspace - -build:7.2:workspace: - variables: - PHP_VERSION: "7.2" - script: - - docker-compose build workspace diff --git a/.gitpod.yml b/.gitpod.yml new file mode 100644 index 00000000..a612ef0c --- /dev/null +++ b/.gitpod.yml @@ -0,0 +1,2 @@ +image: gitpod/workspace-full + diff --git a/.vscode/settings.json b/.vscode/settings.json index 6d8e9ee2..1166680a 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -1,5 +1,6 @@ { "files.associations": { + "env-example": "dotenv", "Dockerfile-*": "dockerfile" - }, + } } diff --git a/DOCUMENTATION/config.toml b/DOCUMENTATION/config.toml index 56e4fe03..d6c3a732 100644 --- a/DOCUMENTATION/config.toml +++ b/DOCUMENTATION/config.toml @@ -20,8 +20,8 @@ googleAnalytics = "UA-37514928-9" repo_url = "https://github.com/laradock/laradock" version = "" - logo = "images/logo.png" - favicon = "" + logo = "images/favicons/ms-icon-310x310.png" + favicon = "images/favicons/favicon.ico" permalink = "#" @@ -48,40 +48,35 @@ googleAnalytics = "UA-37514928-9" # ------- MENU START ----------------------------------------- [[menu.main]] - name = "1. Introduction" + name = "Introduction" url = "introduction/" weight = 1 [[menu.main]] - name = "2. Getting Started" + name = "Getting Started" url = "getting-started/" weight = 2 [[menu.main]] - name = "3. Documentation" + name = "Documentation" url = "documentation/" weight = 3 [[menu.main]] - name = "4. Help & Questions" + name = "Help & Questions" url = "help/" weight = 4 [[menu.main]] - name = "5. Related Projects" + name = "Related Projects" url = "related-projects/" weight = 5 [[menu.main]] - name = "6. Contributing" + name = "Contributions" url = "contributing/" weight = 6 -[[menu.main]] - name = "7. License" - url = "license/" - weight = 7 - # ------- MENU END ----------------------------------------- [blackfriday] diff --git a/DOCUMENTATION/content/contributing/index.md b/DOCUMENTATION/content/contributing/index.md index dbe3efb8..4a39b2de 100644 --- a/DOCUMENTATION/content/contributing/index.md +++ b/DOCUMENTATION/content/contributing/index.md @@ -1,9 +1,11 @@ --- -title: 7. Contributing +title: Contributions type: index -weight: 7 +weight: 6 --- +[![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/#https://github.com/laradock/laradock) + ## Have a Question @@ -51,12 +53,20 @@ To update the sidebar or add a new section to it, you can edit this `DOCUMENTATI ### Host the documentation locally +**Option 1: Use Hugo Docker Image:** + +1. Update the `DOCUMENTATION/content`. +2. Go to `DOCUMENTATION/`. +3. Run `docker run --rm -it -v $PWD:/src -p 1313:1313 -u hugo jguyomard/hugo-builder hugo server -w --bind=0.0.0.0` +4. Visit [http://localhost:1313/](http://localhost:1313/) + +**Option 2: Install Hugo Locally:** + 1. Install [Hugo](https://gohugo.io/) on your machine. -2. Edit the `DOCUMENTATION/content`. +2. Update the `DOCUMENTATION/content`. 3. Delete the `/docs` folder from the root. -4. After you finish the editing, go to `DOCUMENTATION/` and run the `hugo` command to generate the HTML docs (inside a new `/docs` folder). - - +4. Go to `DOCUMENTATION/`. +5. Run the `hugo` command to generate the HTML docs inside a new `/docs` folder. ## Support new Software (Add new Container) @@ -100,7 +110,7 @@ To update the sidebar or add a new section to it, you can edit this `DOCUMENTATI * Search for the image in the [Docker Hub](https://hub.docker.com/search/) and find the source.. -*Most of the image in Laradock are offical images, these projects live in other repositories and maintainer by other organizations.* +*Most of the image in Laradock are official images, these projects live in other repositories and maintainer by other organizations.* **Note:** Laradock has two base images for (`Workspace` and `php-fpm`, mainly made to speed up the build time on your machine. diff --git a/DOCUMENTATION/content/documentation/index.md b/DOCUMENTATION/content/documentation/index.md index 701058a3..b31ce459 100644 --- a/DOCUMENTATION/content/documentation/index.md +++ b/DOCUMENTATION/content/documentation/index.md @@ -1,5 +1,5 @@ --- -title: 3. Documentation +title: Documentation type: index weight: 3 --- @@ -57,9 +57,11 @@ docker-compose down
-## Enter a Container (run commands in a running Container) +## Enter a Container -1 - First list the current running containers with `docker ps` +> Run commands in a running Container. + +1 - First list the currently running containers with `docker ps` 2 - Enter any container using: @@ -88,7 +90,8 @@ docker-compose exec mysql mysql -udefault -psecret
-## Edit default container configuration +## Edit default Container config + Open the `docker-compose.yml` and change anything you want. Examples: @@ -161,7 +164,7 @@ You might use the `--no-cache` option if you want full rebuilding (`docker-compo
-## Add more Software (Docker Images) +## Add more Docker Images To add an image (software), just edit the `docker-compose.yml` and add your container details, to do so you need to be familiar with the [docker compose file syntax](https://docs.docker.com/compose/compose-file/). @@ -193,6 +196,7 @@ More [options](https://docs.docker.com/compose/reference/logs/)
+ @@ -203,11 +207,14 @@ More [options](https://docs.docker.com/compose/reference/logs/) ## Install PHP Extensions -Before installing PHP extensions, you have to decide first whether you need `FPM` or `CLI`, because each of them has it's own different container, if you need it for both, you have to edit both containers. +You can set extensions to install in the .env file's corresponding section (`PHP_FPM`, `WORKSPACE`, `PHP_WORKER`), +just change the `false` to `true` at the desired extension's line. +After this you have to rebuild the container with the `--no-cache` option. + +```bash +docker build --no-cache {container-name} +``` -The PHP-FPM extensions should be installed in `php-fpm/Dockerfile-XX`. *(replace XX with your default PHP version number)*. -
-The PHP-CLI extensions should be installed in `workspace/Dockerfile`. @@ -215,11 +222,13 @@ The PHP-CLI extensions should be installed in `workspace/Dockerfile`.
+ ## Change the (PHP-FPM) Version -By default the latest stable PHP versin is configured to run. ->The PHP-FPM is responsible of serving your application code, you don't have to change the PHP-CLI version if you are planning to run your application on different PHP-FPM version. +By default the latest stable PHP version is configured to run. + +>The PHP-FPM is responsible for serving your application code, you don't have to change the PHP-CLI version if you are planning to run your application on different PHP-FPM version. ### A) Switch from PHP `7.2` to PHP `5.6` @@ -253,7 +262,7 @@ docker-compose build php-fpm >Note: it's not very essential to edit the PHP-CLI version. The PHP-CLI is only used for the Artisan Commands & Composer. It doesn't serve your Application code, this is the PHP-FPM job. -The PHP-CLI is installed in the Workspace container. To change the PHP-CLI version you need to simply change the `PHP_VERSION` in te .env file as follow: +The PHP-CLI is installed in the Workspace container. To change the PHP-CLI version you need to simply change the `PHP_VERSION` in the .env file as follow: 1 - Open the `.env`. @@ -306,7 +315,7 @@ To control the behavior of xDebug (in the `php-fpm` Container), you can run the - Start xDebug by default: `.php-fpm/xdebug start`. - See the status: `.php-fpm/xdebug status`. -Note: If `.php-fpm/xdebug` doesn't execute and gives `Permission Denied` error the problem can be that file `xdebug` doesn't have execution access. This can be fixed by running `chmod` command with desired access permissions. +Note: If `.php-fpm/xdebug` doesn't execute and gives `Permission Denied` error the problem can be that file `xdebug` doesn't have execution access. This can be fixed by running `chmod` command with desired access permissions. @@ -384,7 +393,9 @@ Always download the latest version of [Loaders for ionCube ](http://www.ioncube.
-## Install Deployer (Deployment tool for PHP) +## Install Deployer + +> A deployment tool for PHP. 1 - Open the `.env` file
@@ -395,14 +406,17 @@ Always download the latest version of [Loaders for ionCube ](http://www.ioncube. 4 - Re-build the containers `docker-compose build workspace` -[**Deployer Documentation Here**](https://deployer.org/docs) +[**Deployer Documentation Here**](https://deployer.org/docs/getting-started.html)
-## Install SonarQube (automatic code review tool) +## Install SonarQube + +> An automatic code review tool. + SonarQube® is an automatic code review tool to detect bugs, vulnerabilities and code smells in your code. It can integrate with your existing workflow to enable continuous code inspection across your project branches and pull requests.
1 - Open the `.env` file @@ -463,14 +477,6 @@ To learn more about how Docker publishes ports, please read [this excellent post -
- -## Setup Laravel and Docker on Digital Ocean - -### [Full Guide Here](/guides/#Digital-Ocean) - - - @@ -483,7 +489,7 @@ To learn more about how Docker publishes ports, please read [this excellent post -## Install Laravel from a Docker Container +## Install Laravel from Container 1 - First you need to enter the Workspace Container. @@ -509,7 +515,7 @@ Since the new Laravel application is in the `my-cool-app` folder, we need to rep ```dotenv APP_CODE_PATH_HOST=../my-cool-app/ ``` -4 - Go to that folder and start working.. +4 - Go to that folder and start working. ```bash cd my-cool-app @@ -560,8 +566,14 @@ composer update ```bash phpunit ``` - - +``` +vue serve +``` +(browse the results at `http://localhost:[WORKSPACE_VUE_CLI_SERVE_HOST_PORT]`) +``` +vue ui +``` +(browse the results at `http://localhost:[WORKSPACE_VUE_CLI_UI_HOST_PORT]`) @@ -611,6 +623,34 @@ docker-compose up -d php-worker +
+ +## Use Browsersync + +> Using Use Browsersync with Laravel Mix. + +1. Add the following settings to your `webpack.mix.js` file. Please refer to Browsersync [Options](https://browsersync.io/docs/options) page for more options. + +``` +const mix = require('laravel-mix') + +(...) + +mix.browserSync({ + open: false, + proxy: 'nginx' // replace with your web server container +}) +``` + +2. Run `npm run watch` within your `workspace` container. + +3. Open your browser and visit address `http://localhost:[WORKSPACE_BROWSERSYNC_HOST_PORT]`. It will refresh the page automatically whenever you edit any source file in your project. + +4. If you wish to access Browsersync UI for your project, visit address `http://localhost:[WORKSPACE_BROWSERSYNC_UI_HOST_PORT]`. + + + +
## Use Mailu @@ -786,21 +826,21 @@ Read the [Laravel official documentation](https://laravel.com/docs/5.7/redis#con ## Use Varnish -The goal was to proxy request to varnish server using nginx. So only nginx has been configured for Varnish proxy. -Nginx is on port 80 or 443. Nginx sends request through varnish server and varnish server sends request back to nginx on port 81 (external port is defined in `VARNISH_BACKEND_PORT`). +The goal was to proxy the request to varnish server using nginx. So only nginx has been configured for Varnish proxy. +Nginx is on port 80 or 443. Nginx sends request through varnish server and varnish server sends request back to nginx on port 81 (external port is defined in `VARNISH_BACKEND_PORT`). -The idea was taken from this [post](https://www.linode.com/docs/websites/varnish/use-varnish-and-nginx-to-serve-wordpress-over-ssl-and-http-on-debian-8/) +The idea was taken from this [post](https://www.linode.com/docs/websites/varnish/use-varnish-and-nginx-to-serve-wordpress-over-ssl-and-http-on-debian-8/) The Varnish configuration was developed and tested for Wordpress only. Probably it works with other systems. #### Steps to configure varnish proxy server: 1. You have to set domain name for VARNISH_PROXY1_BACKEND_HOST variable. 2. If you want to use varnish for different domains, you have to add new configuration section in your env file. - ``` + ``` VARNISH_PROXY1_CACHE_SIZE=128m VARNISH_PROXY1_BACKEND_HOST=replace_with_your_domain.name VARNISH_PROXY1_SERVER=SERVER1 - ``` + ``` 3. Then you have to add new config section into docker-compose.yml with related variables: ``` custom_proxy_name: @@ -822,7 +862,7 @@ The Varnish configuration was developed and tested for Wordpress only. Probably - workspace networks: - frontend - ``` + ``` 4. change your varnish config and add nginx configuration. Example Nginx configuration is here: `nginx/sites/laravel_varnish.conf.example`. 5. `varnish/default.vcl` is old varnish configuration, which was used in the previous version. Use `default_wordpress.vcl` instead. @@ -840,14 +880,14 @@ run from any cli:
`curl -X PURGE https://yourwebsite.com/`. 2. How to reload varnish?
`docker container exec proxy varnishreload` 3. Which varnish commands are allowed? - - varnishadm - - varnishd - - varnishhist - - varnishlog - - varnishncsa - - varnishreload - - varnishstat - - varnishtest + - varnishadm + - varnishd + - varnishhist + - varnishlog + - varnishncsa + - varnishreload + - varnishstat + - varnishtest - varnishtop 4. How to reload Nginx?
`docker exec Nginx nginx -t`
@@ -919,7 +959,7 @@ More details about this [here](https://github.com/jenssegers/laravel-mongodb#ins 7 - Test it: -- First let your Models extend from the Mongo Eloquent Model. Check the [documentation](https://github.com/jenssegers/laravel-mongodb#eloquent). +- First, let your Models extend from the Mongo Eloquent Model. Check the [documentation](https://github.com/jenssegers/laravel-mongodb#eloquent). - Enter the Workspace Container. - Migrate the Database `php artisan migrate`. @@ -944,7 +984,7 @@ docker-compose up -d mariadb phpmyadmin *Note: To use with MariaDB, open `.env` and set `PMA_DB_ENGINE=mysql` to `PMA_DB_ENGINE=mariadb`.* -2 - Open your browser and visit the localhost on port **8080**: `http://localhost:8080` +2 - Open your browser and visit the localhost on port **8081**: `http://localhost:8081` @@ -1024,7 +1064,7 @@ job1: 7 - Push changes to gitlab -8 - Verify that pipeline is run successful +8 - Verify that pipeline is running successfully @@ -1041,9 +1081,16 @@ job1: docker-compose up -d adminer ``` -2 - Open your browser and visit the localhost on port **8080**: `http://localhost:8080` +2 - Open your browser and visit the localhost on port **8081**: `http://localhost:8081` + +#### Additional Notes + +- You can load plugins in the `ADM_PLUGINS` variable in the `.env` file. If a plugin requires parameters to work correctly you will need to add a custom file to the container. [Find more info in section 'Loading plugins'](https://hub.docker.com/_/adminer). + +- You can choose a design in the `ADM_DESIGN` variable in the `.env` file. [Find more info in section 'Choosing a design'](https://hub.docker.com/_/adminer). + +- You can specify the default host with the `ADM_DEFAULT_SERVER` variable in the `.env` file. This is useful if you are connecting to an external server or a docker container named something other than the default `mysql`. -**Note:** We've locked Adminer to version 4.3.0 as at the time of writing [it contained a major bug](https://sourceforge.net/p/adminer/bugs-and-features/548/) preventing PostgreSQL users from logging in. If that bug is fixed (or if you're not using PostgreSQL) feel free to set Adminer to the latest version within [the Dockerfile](https://github.com/laradock/laradock/blob/master/adminer/Dockerfile#L1): `FROM adminer:latest` @@ -1178,6 +1225,12 @@ docker-compose up -d elasticsearch ```bash docker-compose exec elasticsearch /usr/share/elasticsearch/bin/plugin install {plugin-name} ``` +For ElasticSearch 5.0 and above, the previous "plugin" command has been renamed to "elasticsearch-plguin". +Use the following instead: + +```bash +docker-compose exec elasticsearch /usr/share/elasticsearch/bin/elasticsearch-plugin install {plugin-name} +``` 2 - Restart elasticsearch container @@ -1186,7 +1239,19 @@ docker-compose restart elasticsearch ``` +
+ +## Use MeiliSearch +1 - Run the MeiliSearch Container (`meilisearch`) with the `docker-compose up` command. Example: + +```bash +docker-compose up -d meilisearch +``` + +2 - Open your browser and visit the localhost on port **7700** at the following URL: `http://localhost:7700` + +> The private API key is `masterkey` @@ -1276,12 +1341,26 @@ docker-compose up -d minio 5 - When configuring your other clients use the following details: ``` - S3_HOST=http://minio - S3_KEY=access - S3_SECRET=secretkey - S3_REGION=us-east-1 - S3_BUCKET=bucket + AWS_URL=http://minio:9000 + AWS_ACCESS_KEY_ID=access + AWS_SECRET_ACCESS_KEY=secretkey + AWS_DEFAULT_REGION=us-east-1 + AWS_BUCKET=test + AWS_PATH_STYLE=true ``` +6 - In `filesystems.php` you shoud use the following details (s3): + ``` +'s3' => [ + 'driver' => 's3', + 'key' => env('AWS_ACCESS_KEY_ID'), + 'secret' => env('AWS_SECRET_ACCESS_KEY'), + 'region' => env('AWS_DEFAULT_REGION'), + 'bucket' => env('AWS_BUCKET'), + 'endpoint' => env('AWS_URL'), + 'use_path_style_endpoint' => env('AWS_PATH_STYLE', false) + ], +``` +`'AWS_PATH_STYLE'` shout set to true only for local purpouse @@ -1314,7 +1393,7 @@ For more documentation on Thumbor visit the [Thumbor documenation](http://thumbo ## Use AWS 1 - Configure AWS: - - make sure to add your SSH keys in aws/ssh_keys folder + - make sure to add your SSH keys in aws-eb-cli/ssh_keys folder 2 - Run the Aws Container (`aws`) with the `docker-compose up` command. Example: @@ -1386,30 +1465,13 @@ GRAYLOG_SHA256_PASSWORD=b1cb6e31e172577918c9e7806c572b5ed8477d3f57aa737bee4b5b1d ## Use Traefik -To use Traefik you need to do some changes in `traefik/trafik.toml` and `docker-compose.yml`. +To use Traefik you need to do some changes in `.env` and `docker-compose.yml`. -1 - Open `traefik.toml` and change the `e-mail` property in `acme` section. +1 - Open `.env` and change `ACME_DOMAIN` to your domain and `ACME_EMAIL` to your email. -2 - Change your domain in `acme.domains`. For example: `main = "example.org"` +2 - You need to change the `docker-compose.yml` file to match the Traefik needs. If you want to use Traefik, you must not expose the ports of each container to the internet, but specify some labels. -2.1 - If you have subdomains, you must add them to `sans` property in `acme.domains` section. - -```bash -[[acme.domais]] - main = "example.org" - sans = ["monitor.example.org", "pma.example.org"] -``` - -3 - If you need to add basic authentication (https://docs.traefik.io/configuration/entrypoints/#basic-authentication), you just need to add the following text after `[entryPoints.https.tls]`: - -```bash -[entryPoints.https.auth.basic] - users = ["user:password"] -``` - -4 - You need to change the `docker-compose.yml` file to match the Traefik needs. If you want to use Traefik, you must not expose the ports of each container to the internet, but specify some labels. - -4.1 For example, let's try with NGINX. You must have: +2.1 For example, let's try with NGINX. You must have: ```bash nginx: @@ -1429,9 +1491,25 @@ nginx: - frontend - backend labels: - - traefik.backend=nginx - - traefik.frontend.rule=Host:example.org - - traefik.port=80 + - "traefik.enable=true" + - "traefik.http.services.nginx.loadbalancer.server.port=80" + # https router + - "traefik.http.routers.https.rule=Host(`${ACME_DOMAIN}`, `www.${ACME_DOMAIN}`)" + - "traefik.http.routers.https.entrypoints=https" + - "traefik.http.routers.https.middlewares=www-redirectregex" + - "traefik.http.routers.https.service=nginx" + - "traefik.http.routers.https.tls.certresolver=letsencrypt" + # http router + - "traefik.http.routers.http.rule=Host(`${ACME_DOMAIN}`, `www.${ACME_DOMAIN}`)" + - "traefik.http.routers.http.entrypoints=http" + - "traefik.http.routers.http.middlewares=http-redirectscheme" + - "traefik.http.routers.http.service=nginx" + # middlewares + - "traefik.http.middlewares.www-redirectregex.redirectregex.permanent=true" + - "traefik.http.middlewares.www-redirectregex.redirectregex.regex=^https://www.(.*)" + - "traefik.http.middlewares.www-redirectregex.redirectregex.replacement=https://$$1" + - "traefik.http.middlewares.http-redirectscheme.redirectscheme.permanent=true" + - "traefik.http.middlewares.http-redirectscheme.redirectscheme.scheme=https" ``` instead of @@ -1694,7 +1772,9 @@ The default username and password for the root MySQL user are `root` and `root `
-## Create Multiple Databases (MySQL) +## Create Multiple Databases + +> With MySQL. Create `createdb.sql` from `mysql/docker-entrypoint-initdb.d/createdb.sql.example` in `mysql/docker-entrypoint-initdb.d/*` and add your SQL syntax as follow: @@ -1728,7 +1808,9 @@ If you need MySQL access from your host, d
-## Use custom Domain (instead of the Docker IP) +## Use custom Domain + +> How to use a custom domain, instead of the Docker IP. Assuming your custom domain is `laravel.test` @@ -1754,7 +1836,7 @@ server_name laravel.test;
-## Enable Global Composer Build Install +## Global Composer Build Install Enabling Global Composer Install during the build for the container allows you to get your composer requirements installed and available in the container after the build is done. @@ -1773,7 +1855,9 @@ Enabling Global Composer Install during the build for the container allows you t
-## Add authentication credential for Magento 2 +## Add authentication for Magento + +> Adding authentication credentials for Magento 2. 1 - Open the `.env` file @@ -1823,6 +1907,24 @@ To install NVM and NodeJS in the Workspace container 3 - Re-build the container `docker-compose build workspace` +A `.npmrc` file is included in the `workspace` folder if you need to utilise this globally. This is copied automatically into the root and laradock user's folders on build. + + +
+ +## Install PNPM + +pnpm uses hard links and symlinks to save one version of a module only ever once on a disk. When using npm or Yarn for example, if you have 100 projects using the same version of lodash, you will have 100 copies of lodash on disk. With pnpm, lodash will be saved in a single place on the disk and a hard link will put it into the node_modules where it should be installed. + +As a result, you save gigabytes of space on your disk and you have a lot faster installations! If you'd like more details about the unique node_modules structure that pnpm creates and why it works fine with the Node.js ecosystem. +More info here: https://pnpm.js.org/en/motivation + +1 - Open the `.env` file + +2 - Search for the `WORKSPACE_INSTALL_NODE` and `WORKSPACE_INSTALL_PNPM` argument under the Workspace Container and set it to `true` + +3 - Re-build the container `docker-compose build workspace` + @@ -1865,7 +1967,7 @@ To install NPM GULP toolkit in the Workspace container
-## Install NPM BOWER package manager +## Install NPM BOWER To install NPM BOWER package manager in the Workspace container @@ -1890,7 +1992,11 @@ To install NPM VUE CLI in the Workspace container 2 - Search for the `WORKSPACE_INSTALL_NPM_VUE_CLI` argument under the Workspace Container and set it to `true` -3 - Re-build the container `docker-compose build workspace` +3 - Change `vue serve` port using `WORKSPACE_VUE_CLI_SERVE_HOST_PORT` if you wish to (default value is 8080) + +4 - Change `vue ui` port using `WORKSPACE_VUE_CLI_UI_HOST_PORT` if you wish to (default value is 8001) + +5 - Re-build the container `docker-compose build workspace` @@ -1943,10 +2049,45 @@ To install FFMPEG in the Workspace container 4 - If you use the `php-worker` container too, please follow the same steps above especially if you have conversions that have been queued. -**PS** Don't forget to install the binary in the `php-fpm` container too by applying the same steps above to its container, otherwise the you'll get an error when running the `php-ffmpeg` binary. +**PS** Don't forget to install the binary in the `php-fpm` container too by applying the same steps above to its container, otherwise you'll get an error when running the `php-ffmpeg` binary. +
+ +## Install BBC Audio Waveform Image Generator +audiowaveform is a C++ command-line application that generates waveform data from either MP3, WAV, FLAC, or Ogg Vorbis format audio files. +Waveform data can be used to produce a visual rendering of the audio, similar in appearance to audio editing applications. +Waveform data files are saved in either binary format (.dat) or JSON (.json). + +To install BBC Audio Waveform Image Generator in the Workspace container + +1 - Open the `.env` file + +2 - Search for the `WORKSPACE_INSTALL_AUDIOWAVEFORM` argument under the Workspace Container and set it to `true` + +3 - Re-build the container `docker-compose build workspace` + +4 - If you use the `php-worker` or `laravel-horizon` container too, please follow the same steps above especially if you have processing that have been queued. + +**PS** Don't forget to install the binary in the `php-fpm` container too by applying the same steps above to its container, otherwise you'll get an error when running the `audiowaveform` binary. + + +
+ +## Install wkhtmltopdf + +[wkhtmltopdf](https://wkhtmltopdf.org/) is a utility for outputting a PDF from HTML + +To install wkhtmltopdf in the Workspace container + +1 - Open the `.env` file + +2 - Search for the `WORKSPACE_INSTALL_WKHTMLTOPDF` argument under the Workspace Container and set it to `true` + +3 - Re-build the container `docker-compose build workspace` + +**PS** Don't forget to install the binary in the `php-fpm` container too by applying the same steps above to its container, otherwise the you'll get an error when running the `wkhtmltopdf` binary. @@ -1987,7 +2128,7 @@ To install Supervisor in the Workspace container 3 - Create supervisor configuration file (for ex., named `laravel-worker.conf`) for Laravel Queue Worker in `php-worker/supervisord.d/` by simply copy from `laravel-worker.conf.example` -4 - Re-build the container `docker-compose build workspace` Or `docker-composer up --build -d workspace` +4 - Re-build the container `docker-compose build workspace` Or `docker-compose up --build -d workspace` @@ -2033,7 +2174,9 @@ e) set it to `true`
-## Install Laravel Envoy (Envoy Task Runner) +## Install Laravel Envoy + +> A Tasks Runner. 1 - Open the `.env` file
@@ -2066,7 +2209,8 @@ e) set it to `true`
-## Install libfaketime in the php-fpm container +## Install libfaketime in php-fpm + Libfaketime allows you to control the date and time that is returned from the operating system. It can be used by specifying a special string in the `PHP_FPM_FAKETIME` variable in the `.env` file. For example: @@ -2090,7 +2234,8 @@ will set the clock back 1 day. See (https://github.com/wolfcw/libfaketime) for m
-## Install YAML PHP extension in the php-fpm container +## Install YAML extension in php-fpm + YAML PHP extension allows you to easily parse and create YAML structured data. I like YAML because it's well readable for humans. See http://php.net/manual/en/ref.yaml.php and http://yaml.org/ for more info. 1 - Open the `.env` file @@ -2102,6 +2247,32 @@ YAML PHP extension allows you to easily parse and create YAML structured data. I 4 - Re-build the container `docker-compose build php-fpm`
+
+ +## Install RDKAFKA extension in php-fpm + +1 - Open the `.env` file +
+2 - Search for the `PHP_FPM_INSTALL_RDKAFKA` argument under the PHP-FPM container +
+3 - Set it to `true` +
+4 - Re-build the container `docker-compose build php-fpm`
+ + +
+ +## Install RDKAFKA extension in workspace + +This is needed for 'composer install' if your dependencies require Kafka. + +1 - Open the `.env` file +
+2 - Search for the `WORKSPACE_INSTALL_RDKAFKA` argument under the WORKSPACE container +
+3 - Set it to `true` +
+4 - Re-build the container `docker-compose build workspace`

@@ -2138,8 +2309,49 @@ A bash prompt that displays information about the current git repository. In par **Note** You can configure bash-git-prompt by editing the `workspace/gitprompt.sh` file and re-building the workspace container. For configuration information, visit the [bash-git-prompt repository](https://github.com/magicmonty/bash-git-prompt). +
+ +## Install Oh My ZSH +> With the Laravel autocomplete plugin. +[Zsh](https://en.wikipedia.org/wiki/Z_shell) is an extended Bourne shell with many improvements, including some features of Bash, ksh, and tcsh. + +[Oh My Zsh](https://ohmyz.sh/) is a delightful, open source, community-driven framework for managing your Zsh configuration. + +[Laravel autocomplete plugin](https://github.com/ohmyzsh/ohmyzsh/tree/master/plugins/laravel) adds aliases and autocompletion for Laravel Artisan and Bob command-line interfaces. + +1 - Open the `.env` file + +2 - Search for the `SHELL_OH_MY_ZSH` argument under the Workspace Container + +3 - Set it to `true` + +4 - Re-build the container `docker-compose build workspace` + +5 - Use it `docker-compose exec --user=laradock workspace zsh` + +**Note** You can configure Oh My ZSH by editing the `/home/laradock/.zshrc` in running container. + +> With the ZSH autosuggestions plugin. + +[ZSH autosuggestions plugin](https://github.com/zsh-users/zsh-autosuggestions) suggests commands as you type based on history and completions. + +1 - Enable ZSH as described previously + +2 - Set `SHELL_OH_MY_ZSH_AUTOSUGESTIONS` to `true` + +3 - Rebuild and use ZSH as described previously + +> With bash aliases loaded. + +Laradock provides aliases through the `aliases.sh` file located in the `laradock/workspace` directory. You can load it into ZSH. + +1 - Enable ZSH as described previously + +2 - Set `SHELL_OH_MY_ZSH_ALIASES` to `true` + +3 - Rebuild and enjoy aliases
@@ -2152,7 +2364,9 @@ Remote debug Laravel web and phpunit tests.
-## Setup Google Cloud for docker registry +## Setup Google Cloud + +> Setting up Google Cloud for the docker registry. ``` gcloud auth configure-docker @@ -2168,7 +2382,7 @@ gcloud auth login
-## Keep track of your Laradock changes +## Track your Laradock changes 1. Fork the Laradock repository. 2. Use that fork as a submodule. diff --git a/DOCUMENTATION/content/getting-started/index.md b/DOCUMENTATION/content/getting-started/index.md index df193542..b96cdfe5 100644 --- a/DOCUMENTATION/content/getting-started/index.md +++ b/DOCUMENTATION/content/getting-started/index.md @@ -1,18 +1,18 @@ --- -title: 2. Getting Started +title: Getting Started type: index weight: 2 --- -## 2.1 Requirements +## Requirements - [Git](https://git-scm.com/downloads) -- [Docker](https://www.docker.com/products/docker/) `>= 17.12` +- [Docker](https://www.docker.com/products/docker/) [ >= 17.12 ] -## 2.2 Installation +## Installation Choose the setup the best suits your needs. @@ -38,16 +38,16 @@ git submodule add https://github.com/Laradock/laradock.git Note: If you are not using Git yet for your project, you can use `git clone` instead of `git submodule `. -*To keep track of your Laradock changes, between your projects and also keep Laradock updated [check these docs](/documentation/#keep-track-of-your-laradock-changes)* +*To keep track of your Laradock changes, between your projects and also keep Laradock updated [check these docs](/documentation/#track-your-laradock-changes)* 2 - Make sure your folder structure should look like this: ``` -+ project-a - + laradock-a -+ project-b - + laradock-b +* project-a +* laradock-a +* project-b +* laradock-b ``` *(It's important to rename the laradock folders to unique name in each project, if you want to run laradock per project).* @@ -66,8 +66,8 @@ git clone https://github.com/laradock/laradock.git Your folder structure should look like this: ``` -+ laradock -+ project-z +* laradock +* project-z ``` 2 - Edit your web server sites configuration. @@ -102,9 +102,9 @@ git clone https://github.com/laradock/laradock.git Your folder structure should look like this: ``` -+ laradock -+ project-1 -+ project-2 +* laradock +* project-1 +* project-2 ``` 2 - Go to your web server and create config files to point to different project directory when visiting different domains: @@ -136,7 +136,7 @@ If you use Chrome 63 or above for development, don't use `.dev`. [Why?](https:// -## 2.3 Usage +## Usage **Read Before starting:** diff --git a/DOCUMENTATION/content/help/index.md b/DOCUMENTATION/content/help/index.md index 8267bc5a..519d129a 100644 --- a/DOCUMENTATION/content/help/index.md +++ b/DOCUMENTATION/content/help/index.md @@ -1,7 +1,7 @@ --- -title: 5. Help & Questions +title: Help & Questions type: index -weight: 5 +weight: 4 --- Join the chat room on [Gitter](https://gitter.im/Laradock/laradock) and get help and support from the community. @@ -105,7 +105,7 @@ WORKSPACE_COMPOSER_REPO_PACKAGIST=https://packagist.phpcomposer.com ## I got (Module build failed: Error: write EPIPE) while compiling react application -When you run `npm build` or `yarn dev` building a react application using webpack with elixir you may receive a `Error: write EPIPE` while processing .jpg images. +When you run `npm build` or `yarn dev` building a react application using webpack with elixir you may receive an `Error: write EPIPE` while processing .jpg images. This is caused of an outdated library for processing **.jpg files** in ubuntu 16.04. @@ -113,7 +113,7 @@ To fix the problem you can follow those steps 1 - Open the `.env`. -2 - Search for `WORKSPACE_INSTALL_LIBPNG` or add the key if missing. +2 - Search for `WORKSPACE_INSTALL_LIBPNG` or add the key, if missing. 3 - Set the value to true: diff --git a/DOCUMENTATION/content/introduction/index.md b/DOCUMENTATION/content/introduction/index.md index 5dcc92da..562402a2 100644 --- a/DOCUMENTATION/content/introduction/index.md +++ b/DOCUMENTATION/content/introduction/index.md @@ -1,13 +1,18 @@ --- -title: 1. Introduction +title: Introduction type: index weight: 1 --- -Laradock is a full PHP development environment based on Docker. +Laradock is a full PHP development environment for Docker. -Supporting a variety of common services, all pre-configured to provide a full PHP development environment. +It supports a variety of common services, all pre-configured to provide a ready PHP development environment. +
+ +--- +### Use Docker First - Learn About It Later! +--- ## Features @@ -16,7 +21,7 @@ Supporting a variety of common services, all pre-configured to provide a full PH - Choose your favorite database engine: MySQL, Postgres, MariaDB... - Run your own stack: Memcached, HHVM, RabbitMQ... - Each software runs on its own container: PHP-FPM, NGINX, PHP-CLI... -- Easy to customize any container, with simple edit to the `Dockerfile`. +- Easy to customize any container, with simple edits to the `Dockerfile`. - All Images extends from an official base Image. (Trusted base Images). - Pre-configured NGINX to host any code at your root directory. - Can use Laradock per project, or single Laradock for all projects. @@ -26,11 +31,9 @@ Supporting a variety of common services, all pre-configured to provide a full PH - Everything is visible and editable. - Fast Images Builds. -
---- -### Use Docker First - Then Learn About It Later ---- + + ## Quick Overview @@ -73,13 +76,13 @@ That's it! enjoy :) -## Supported Software (Docker Images) +## Supported Services > Laradock, adheres to the 'separation of concerns' principle, thus it runs each software on its own Docker Container. > You can turn On/Off as many instances as you want without worrying about the configurations. > To run a chosen container from the list below, run `docker-compose up -d {container-name}`. -> The container name `{container-name}` is the same as its folder name. Example to run the "PHP FPM" container use the name "php-fpm". +> The container name `{container-name}` is the same as its folder name. Example to run the "PHP FPM" container, use the name "php-fpm". - **Web Servers:** - NGINX @@ -131,9 +134,11 @@ That's it! enjoy :) - PHP Worker - Laravel Horizon - Gearman + - Amazon Simple Queue Service - **Mail Servers:** - Mailu + - MailCatcher - Mailhog - MailDev @@ -177,6 +182,7 @@ That's it! enjoy :) - `Wordpress CLI` - Apache ZooKeeper *(Centralized service for distributed systems to a hierarchical key-value store)* - Kibana *(Visualize your Elasticsearch data and navigate the Elastic Stack)* + - Dejavu *(Edit your Elasticsearch data)* - LogStash *(Server-side data processing pipeline that ingests data from a multitude of sources simultaneously)* - Jenkins *(automation server, that provides plugins to support building, deploying and automating any project)* - Certbot *(Automatically enable HTTPS on your website)* @@ -186,6 +192,7 @@ That's it! enjoy :) - PostGIS *(Database extender for PostgreSQL. It adds support for geographic objects allowing location queries to be run in SQL)* - Blackfire *(Empowers all PHP developers and IT/Ops to continuously verify and improve their app's performance)* - Laravel Echo *(Bring the power of WebSockets to your Laravel applications)* + - Mercure *(Server-sent events)* - Phalcon *(A PHP web framework based on the model–view–controller pattern)* - Minio *(Cloud storage server released under Apache License v2, compatible with Amazon S3)* - AWS EB CLI *(CLI that helps you deploy and manage your AWS Elastic Beanstalk applications and environments)* @@ -209,18 +216,28 @@ You can choose, which tools to install in your workspace container and other con - -## Chat with us -Feel free to join us on Gitter. + + + + + + +## Join Us [![Gitter](https://badges.gitter.im/Laradock/laradock.svg)](https://gitter.im/Laradock/laradock?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge) +[![Gitpod](https://img.shields.io/badge/Gitpod-ready--to--code-blue)](https://gitpod.io/#https://github.com/laradock/laradock) + --- -Laradock exists thanks to all the people who contribute. -## Project Maintainers +## Awesome People + +Laradock is an MIT-licensed open source project with its ongoing development made possible entirely by the support of all these smart and generous people, from code contributors to financial contributors. 💜 + + +### Project Maintainers @@ -338,136 +355,118 @@ Laradock exists thanks to all the people who contribute.
-## Code Contributors +### Code Contributors - +[![Laradock Contributors][contributors-src]][contributors-href] + +### Financial Contributors + +[![Open Collective backers][backers-src]][backers-href] + +You can support us using any of the methods below: + +1: [Open Collective](https://opencollective.com/laradock/contribute) +
+2: [Paypal](https://paypal.me/mzmmzz) +
+3: [Github Sponsors](https://github.com/sponsors/Mahmoudz) +
+4: [Patreon](https://www.patreon.com/zalt) --- - -## Financial Contributors -Contribute and help us sustain the project. - -Option 1: Donate via [Paypal](https://paypal.me/mzmmzz). -
-Option 2: Become a Sponsor via [Github Sponsors](https://github.com/sponsors/Mahmoudz). -
-Option 3: Become a Sponsor/Backer via [Open Collective](https://opencollective.com/laradock/contribute). - - ## Sponsors - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +Sponsoring is an act of giving in a different fashion. 🌱 -Support Laradock with your [organization](https://opencollective.com/laradock/contribute/). + +### Gold Sponsors + +

+ +We thank bestonlinecasino.com for their support + + + + + + + + + + + + +

+ +### Silver Sponsors + +

+ + + + + + + + + + + + +

+ +### Bronze Sponsors + +

+ +Apiato Build API's faster. + + + + + + + + + + + + +

+ + +You can sponsor us using any of the methods below: + +1: Sponsor via [Open Collective](https://opencollective.com/laradock/contribute/).
-Your logo will show up on the [github repository](https://github.com/laradock/laradock/) index page and the [documentation](http://laradock.io/) main page. -
-For more info contact support@laradock.io. +2: Email us at support@laradock.io. + +*Sponsors logos are displayed on the [github repository](https://github.com/laradock/laradock/) page and the [documentation website](http://laradock.io/) home page.* + +## License + +[MIT](https://github.com/laradock/laradock/blob/master/LICENSE) © Mahmoud Zalt + + +[comment]: # (Open Collective Tiers) + +[contributors-src]: https://opencollective.com/laradock/contributors.svg?width=890&button=false&isActive=true +[contributors-href]: https://github.com/laradock/laradock/graphs/contributors +[backers-src]: https://opencollective.com/laradock/tiers/awesome-backers.svg?width=890&button=false&isActive=true +[backers-href]: https://opencollective.com/laradock#contributors + +[gold-sponsors-src]: https://opencollective.com/laradock/tiers/gold-sponsors.svg?avatarHeight=80&width=890&button=false&isActive=true +[gold-sponsors-href]: https://opencollective.com/laradock#contributors +[silver-sponsors-src]: https://opencollective.com/laradock/tiers/silver-sponsors.svg?avatarHeight=64&width=890&button=false&isActive=true +[silver-sponsors-href]: https://opencollective.com/laradock#contributors +[bronze-sponsors-src]: https://opencollective.com/laradock/tiers/bronze-sponsors.svg?avatarHeight=48&width=890&button=false&isActive=true +[bronze-sponsors-href]: https://opencollective.com/laradock#contributors + + - -## Backers - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/DOCUMENTATION/content/license/index.md b/DOCUMENTATION/content/license/index.md deleted file mode 100644 index 312b13d1..00000000 --- a/DOCUMENTATION/content/license/index.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -title: 8. License -type: index -weight: 8 ---- - -[MIT License](https://github.com/laradock/laradock/blob/master/LICENSE) (MIT) diff --git a/DOCUMENTATION/content/related-projects/index.md b/DOCUMENTATION/content/related-projects/index.md index a55343fb..f9942052 100644 --- a/DOCUMENTATION/content/related-projects/index.md +++ b/DOCUMENTATION/content/related-projects/index.md @@ -1,19 +1,49 @@ --- -title: 6. Related Projects +title: Related Projects type: index -weight: 6 +weight: 5 --- -Laradock related projects: +## Laradock Related Projects -* [Laradock CLI](https://github.com/lorinlee/laradock-cli) by [LorinLee](https://github.com/lorinlee) -* [Laradock Env](https://github.com/bagart/laradock_env) by [BAGArt](https://github.com/bagart) -* [Klaradock](https://github.com/poyhsiao/Klaradock) by [Kim Hsiao](https://github.com/poyhsiao) -* [Ansible Laradock Kubernetes](https://github.com/sifat-rahim/ansible-laradock-kubernetes) by [Sifat Rahim](https://github.com/sifat-rahim) -These Docker Compose projects have piqued our interest: -* [MageDock](https://github.com/ojhaujjwal/magedock) by [Ujjwal Ojha](https://github.com/ojhaujjwal) -* [RubyDev-Dock](https://github.com/scudelletti/rubydev-dock) by [Diogo Scudelletti](https://github.com/scudelletti) -* [NoDock](https://github.com/Osedea/nodock) by [Osedea](https://github.com/Osedea) -* [Dockery](https://github.com/taufek/dockery) by [Taufek](https://github.com/Taufek) -If you want your project listed here, please open an issue. +* [Docker Stacks](https://github.com/sfx101/docker-stacks): A GUI for managing Laradock. (by [Subhadip Naskar](https://github.com/sfx101)) +* [Laradock CLI](https://github.com/lorinlee/laradock-cli): A CLI for managing Laradock. (by [Lorin Lee](https://github.com/lorinlee)) +* [Laradock CLI](https://github.com/loonpwn/laradock-cli): A CLI for managing Laradock. (by [Harlan Wilton](https://github.com/loonpwn)) +* [Ansible Laradock Kubernetes](https://github.com/sifat-rahim/ansible-laradock-kubernetes): Ansible playbook to setup docker containers for Laravel apps using Laradock. (by [Sifat Rahim](https://github.com/sifat-rahim)) +* [Monitor Laradock](https://github.com/zeroc0d3/monitor-laradock): Laradock Monitoring Tools (using Grafana). (by [Dwi Fahni Denni](https://github.com/zeroc0d3)) +* [Laradock Manager](https://github.com/Lyimmi/laradock-manager): A simple app for managing Laradock containers. Made with wails.app (go & vue.js & vuetify). (by [Zámbó Levente](https://github.com/Lyimmi)) +* [Laradock Env](https://github.com/bagart/laradock_env): A wrapper with commands for managing Laradock. (by [BAG Art](https://github.com/bagart)) +* [Lara Query](https://github.com/TanisukeGoro/laraQuery): Easy Laradock CLI. (by [Okita kamegoro](https://github.com/TanisukeGoro)) +* [Laradock CLI](https://github.com/tonysm/laradock-cli): Laradock CLI helper. (by [Tony Messias](https://github.com/Tonysm)) +* [Laradock Lite](https://github.com/yangliuyu/laradock-lite): A Docker based laravel development environment with minimal dependencies. (by [Liu Yang](https://github.com/yangliuyu)) +* [Laradock Makefile](https://github.com/bazavlukd/laradock-makefile): Makefile with some useful commands for Laradock. (by [Dmitry Bazavluk](https://github.com/bazavlukd)) +* [Laradock Build](https://github.com/dockerframework/laradock-build): Docker builder & running script for Laradock. (by [Docker Framework](https://github.com/dockerframework)) +* [Laravel Laradock PHPStorm](https://github.com/LarryEitel/laravel-laradock-phpstorm): Guide for configuring PHPStorm for remote debugging with Laravel & Laradock. (by [Larry Eitel](https://github.com/LarryEitel)) +* [Laradock Crudbooster](https://github.com/nutellinoit/laradock-crudbooster): Docker compose & Kubernetes solution to build apps with crudbooster & Laradock. (by [Samuele Chiocca](https://github.com/nutellinoit)) +* [Laradock Sample](https://github.com/tadaken3/laradock-sample): Install Laravel with Laradock. (by [Tadaken3](https://github.com/tadaken3)) +* [Stylemix's Laradock](https://github.com/stylemix/laradock): Alternate laradock for multiproject purpose. (by [Stylemix LLC](https://github.com/stylemix)) + + + + +## Inspired by Laradock + +* [Dockery](https://github.com/taufek/dockery): Laradock for Ruby. (by [Taufek Johar](https://github.com/Taufek)) +* [RubyDev Dock](https://github.com/scudelletti/rubydev-dock): Laradock for Ruby. (by [Diogo Scudelletti](https://github.com/scudelletti)) +* [NoDock](https://github.com/Osedea/nodock): Laradock for NodeJS. (by [Osedea](https://github.com/Osedea)) +* [Laradock Multi](https://github.com/bagart/laradock-multi): Laradock for PHP & NodeJS. (by [BAG Art](https://github.com/bagart)) +* [Wordpress Laradock](https://github.com/shov/wordpress-laradock): Laradock for Wordpress. (by [Alexandr Shevchenko](https://github.com/shov)) +* [Yii2 Laradock](https://github.com/ydatech/yii2-laradock): Laradock for Yii2. (by [Yuda Sukmana](https://github.com/ydatech)) +* [MageDock](https://github.com/ojhaujjwal/magedock): Laradock for Magento. (by [Ujjwal Ojha](https://github.com/ojhaujjwal)) +* [Docker Codeigniter](https://github.com/sebastianlzy/docker-codeigniter): Laradock for Codeigniter. (by [Sebastian](https://github.com/sebastianlzy)) +* [Klaradock](https://github.com/poyhsiao/Klaradock): A customized Laradock. (by [Kim Hsiao](https://github.com/poyhsiao)) +* [Laravel Boilerplate](https://github.com/casivaagustin/laravel-boilerplate): A boilerplate with support for JWT. (by [Casiva Agustin](https://github.com/casivaagustin)) + + + + + +

+ +> Feel free to submit a PR for listing your project here. diff --git a/DOCUMENTATION/themes/hugo-material-docs/layouts/_default/__list.html b/DOCUMENTATION/themes/hugo-material-docs/layouts/_default/__list.html index 54c2b783..fb1046a4 100644 --- a/DOCUMENTATION/themes/hugo-material-docs/layouts/_default/__list.html +++ b/DOCUMENTATION/themes/hugo-material-docs/layouts/_default/__list.html @@ -36,6 +36,7 @@ {{ with .Site.Params.copyright }} © {{ $.Now.Format "2006" }} {{ . }} – {{ end }} +

Documentation built with Hugo using the diff --git a/DOCUMENTATION/themes/hugo-material-docs/layouts/_default/single.html b/DOCUMENTATION/themes/hugo-material-docs/layouts/_default/single.html index 050f28d2..83cf3ee3 100644 --- a/DOCUMENTATION/themes/hugo-material-docs/layouts/_default/single.html +++ b/DOCUMENTATION/themes/hugo-material-docs/layouts/_default/single.html @@ -32,6 +32,7 @@ {{ with .Site.Params.copyright }} © {{ $.Now.Format "2006" }} {{ . }} – {{ end }} +

Documentation built with Hugo using the diff --git a/DOCUMENTATION/themes/hugo-material-docs/layouts/index.html b/DOCUMENTATION/themes/hugo-material-docs/layouts/index.html index 7f14e8b8..c09a68bf 100644 --- a/DOCUMENTATION/themes/hugo-material-docs/layouts/index.html +++ b/DOCUMENTATION/themes/hugo-material-docs/layouts/index.html @@ -39,7 +39,7 @@


- laradock logo + laradock logo {{ range where .Site.Pages "Type" "index" }}





@@ -54,6 +54,7 @@ {{ with .Site.Params.copyright }} © {{ $.Now.Format "2006" }} {{ . }} – {{ end }} +

Documentation built with Hugo using the diff --git a/DOCUMENTATION/themes/hugo-material-docs/layouts/partials/head.html b/DOCUMENTATION/themes/hugo-material-docs/layouts/partials/head.html index e890c0a2..406f7d2d 100644 --- a/DOCUMENTATION/themes/hugo-material-docs/layouts/partials/head.html +++ b/DOCUMENTATION/themes/hugo-material-docs/layouts/partials/head.html @@ -36,6 +36,25 @@ + + + + + + + + + + + + + + + + + + +