Compare commits
74 Commits
Author | SHA1 | Date | |
---|---|---|---|
cbb949c273 | |||
aa179b6ca3 | |||
a8ac0b62cf | |||
13776a4f6f | |||
2ce3745cf1 | |||
4a1100e685 | |||
6c942b454b | |||
d81f9f2779 | |||
1dd23a01a5 | |||
35081fd9be | |||
2224685d7e | |||
12ade0d730 | |||
89ee774ece | |||
f2209eeb72 | |||
6712bdcfa9 | |||
9df698e011 | |||
5b0d264b6c | |||
bc9825d398 | |||
b5419c352d | |||
227591cfb5 | |||
90ba6df3ad | |||
4f7ab34a6b | |||
bc3a35fd60 | |||
131025be44 | |||
ae58620386 | |||
b8a1690bc3 | |||
9d10b5a7ef | |||
959329c241 | |||
0792766d41 | |||
8477ca86f5 | |||
6b16f2b479 | |||
f4d5a892b1 | |||
bad5f69379 | |||
667bfc5e1b | |||
d39f793f34 | |||
f910f944da | |||
941ad16cbe | |||
e5f5bc86fe | |||
cca6bead21 | |||
a85e9c4507 | |||
a074389e28 | |||
fabb36abbb | |||
822c383626 | |||
7c4d9c908c | |||
24c02ec1cf | |||
35a7fc204c | |||
4f274e3d86 | |||
5824676e30 | |||
d2823c0f8a | |||
4797c38199 | |||
5a28b9c4d8 | |||
2fd9ccff6a | |||
1dd78c0b04 | |||
b6e11624fe | |||
aa325b5218 | |||
56e10f1198 | |||
e6eb2ef1eb | |||
fbaaff619a | |||
941960df82 | |||
e2331171b0 | |||
a2581bda5f | |||
9a32cd2379 | |||
102d3c8828 | |||
3f71fc2c15 | |||
c4c2f91306 | |||
9e04c460f9 | |||
dc0d970e2a | |||
c5c8c9bc85 | |||
123e52e563 | |||
62747a2870 | |||
c32bf95530 | |||
29f7cbdc7e | |||
e8dbb0e0f1 | |||
cb574599ca |
1
.github/FUNDING.yml
vendored
@ -3,3 +3,4 @@
|
||||
github: Mahmoudz
|
||||
open_collective: laradock
|
||||
custom: ['paypal.me/mzmmzz']
|
||||
patreon: zalt
|
||||
|
19
.github/workflows/main-ci.yml
vendored
Normal file
@ -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 }}
|
@ -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
|
2
.vscode/settings.json
vendored
@ -1,5 +1,5 @@
|
||||
{
|
||||
"files.associations": {
|
||||
"Dockerfile-*": "dockerfile"
|
||||
},
|
||||
}
|
||||
}
|
||||
|
@ -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]
|
||||
|
@ -1,7 +1,7 @@
|
||||
---
|
||||
title: 7. Contributing
|
||||
title: Contributions
|
||||
type: index
|
||||
weight: 7
|
||||
weight: 6
|
||||
---
|
||||
|
||||
|
||||
@ -51,12 +51,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 +108,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.
|
||||
|
||||
|
@ -1,5 +1,5 @@
|
||||
---
|
||||
title: 3. Documentation
|
||||
title: Documentation
|
||||
type: index
|
||||
weight: 3
|
||||
---
|
||||
@ -57,7 +57,9 @@ docker-compose down
|
||||
|
||||
<br>
|
||||
<a name="Enter-Container"></a>
|
||||
## Enter a Container (run commands in a running Container)
|
||||
## Enter a Container
|
||||
|
||||
> Run commands in a running Container.
|
||||
|
||||
1 - First list the current running containers with `docker ps`
|
||||
|
||||
@ -88,7 +90,8 @@ docker-compose exec mysql mysql -udefault -psecret
|
||||
|
||||
<br>
|
||||
<a name="Edit-Container"></a>
|
||||
## 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
|
||||
|
||||
<br>
|
||||
<a name="Add-Docker-Images"></a>
|
||||
## 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/).
|
||||
|
||||
@ -384,7 +387,9 @@ Always download the latest version of [Loaders for ionCube ](http://www.ioncube.
|
||||
|
||||
<br>
|
||||
<a name="Install-Deployer"></a>
|
||||
## Install Deployer (Deployment tool for PHP)
|
||||
## Install Deployer
|
||||
|
||||
> A deployment tool for PHP.
|
||||
|
||||
1 - Open the `.env` file
|
||||
<br>
|
||||
@ -395,14 +400,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)
|
||||
|
||||
|
||||
|
||||
<br>
|
||||
<a name="Install-SonarQube"></a>
|
||||
|
||||
## 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.
|
||||
<br>
|
||||
1 - Open the `.env` file
|
||||
@ -463,14 +471,6 @@ To learn more about how Docker publishes ports, please read [this excellent post
|
||||
|
||||
|
||||
|
||||
<br>
|
||||
<a name="Digital-Ocean"></a>
|
||||
## Setup Laravel and Docker on Digital Ocean
|
||||
|
||||
### [Full Guide Here](/guides/#Digital-Ocean)
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@ -483,7 +483,7 @@ To learn more about how Docker publishes ports, please read [this excellent post
|
||||
|
||||
|
||||
<a name="Install-Laravel"></a>
|
||||
## Install Laravel from a Docker Container
|
||||
## Install Laravel from Container
|
||||
|
||||
1 - First you need to enter the Workspace Container.
|
||||
|
||||
@ -617,6 +617,33 @@ docker-compose up -d php-worker
|
||||
|
||||
|
||||
|
||||
<br>
|
||||
<a name="Use-Browsersync-With-Laravel-Mix"></a>
|
||||
## 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]`.
|
||||
|
||||
|
||||
|
||||
|
||||
<br>
|
||||
<a name="Use-Mailu"></a>
|
||||
## Use Mailu
|
||||
@ -950,7 +977,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`
|
||||
|
||||
|
||||
|
||||
@ -1047,7 +1074,7 @@ 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`
|
||||
|
||||
**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`
|
||||
|
||||
@ -1184,6 +1211,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 as 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
|
||||
|
||||
@ -1392,30 +1425,13 @@ GRAYLOG_SHA256_PASSWORD=b1cb6e31e172577918c9e7806c572b5ed8477d3f57aa737bee4b5b1d
|
||||
<a name="Use-Traefik"></a>
|
||||
## 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:
|
||||
@ -1435,9 +1451,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
|
||||
@ -1700,7 +1732,9 @@ The default username and password for the root MySQL user are `root` and `root `
|
||||
|
||||
<br>
|
||||
<a name="Create-Multiple-Databases"></a>
|
||||
## 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:
|
||||
|
||||
@ -1734,7 +1768,9 @@ If you need <a href="#MySQL-access-from-host">MySQL access from your host</a>, d
|
||||
|
||||
<br>
|
||||
<a name="Use-custom-Domain"></a>
|
||||
## 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`
|
||||
|
||||
@ -1760,7 +1796,7 @@ server_name laravel.test;
|
||||
|
||||
<br>
|
||||
<a name="Enable-Global-Composer-Build-Install"></a>
|
||||
## 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.
|
||||
|
||||
@ -1779,7 +1815,9 @@ Enabling Global Composer Install during the build for the container allows you t
|
||||
|
||||
<br>
|
||||
<a name="Magento-2-authentication-credentials"></a>
|
||||
## Add authentication credential for Magento 2
|
||||
## Add authentication for Magento
|
||||
|
||||
> Adding authentication credentials for Magento 2.
|
||||
|
||||
1 - Open the `.env` file
|
||||
|
||||
@ -1831,6 +1869,23 @@ To install NVM and NodeJS in the Workspace container
|
||||
|
||||
|
||||
|
||||
<br>
|
||||
<a name="Install-PNPM"></a>
|
||||
## 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`
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@ -1871,7 +1926,7 @@ To install NPM GULP toolkit in the Workspace container
|
||||
|
||||
<br>
|
||||
<a name="Install-NPM-BOWER"></a>
|
||||
## Install NPM BOWER package manager
|
||||
## Install NPM BOWER
|
||||
|
||||
To install NPM BOWER package manager in the Workspace container
|
||||
|
||||
@ -2011,7 +2066,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`
|
||||
|
||||
|
||||
|
||||
@ -2057,7 +2112,9 @@ e) set it to `true`
|
||||
|
||||
<br>
|
||||
<a name="Install-Laravel-Envoy"></a>
|
||||
## Install Laravel Envoy (Envoy Task Runner)
|
||||
## Install Laravel Envoy
|
||||
|
||||
> A Tasks Runner.
|
||||
|
||||
1 - Open the `.env` file
|
||||
<br>
|
||||
@ -2090,7 +2147,8 @@ e) set it to `true`
|
||||
|
||||
<br>
|
||||
<a name="Install-Faketime"></a>
|
||||
## 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:
|
||||
@ -2114,7 +2172,8 @@ will set the clock back 1 day. See (https://github.com/wolfcw/libfaketime) for m
|
||||
|
||||
<br>
|
||||
<a name="Install-YAML"></a>
|
||||
## 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
|
||||
@ -2162,8 +2221,29 @@ 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).
|
||||
|
||||
<br>
|
||||
<a name="Install-Oh-My-Zsh"></a>
|
||||
## 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.
|
||||
|
||||
<br>
|
||||
<a name="phpstorm-debugging"></a>
|
||||
@ -2176,7 +2256,9 @@ Remote debug Laravel web and phpunit tests.
|
||||
|
||||
<br>
|
||||
<a name="Setup-gcloud"></a>
|
||||
## Setup Google Cloud for docker registry
|
||||
## Setup Google Cloud
|
||||
|
||||
> Setting up Google Cloud for the docker registry.
|
||||
|
||||
```
|
||||
gcloud auth configure-docker
|
||||
@ -2192,7 +2274,7 @@ gcloud auth login
|
||||
|
||||
<br>
|
||||
<a name="keep-tracking-Laradock"></a>
|
||||
## Keep track of your Laradock changes
|
||||
## Track your Laradock changes
|
||||
|
||||
1. Fork the Laradock repository.
|
||||
2. Use that fork as a submodule.
|
||||
|
@ -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.
|
||||
|
||||
@ -44,10 +44,10 @@ Note: If you are not using Git yet for your project, you can use `git clone` ins
|
||||
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://
|
||||
|
||||
|
||||
<a name="Usage"></a>
|
||||
## 2.3 Usage
|
||||
## Usage
|
||||
|
||||
**Read Before starting:**
|
||||
|
||||
|
@ -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.
|
||||
|
@ -1,13 +1,18 @@
|
||||
---
|
||||
title: 1. Introduction
|
||||
title: Introduction
|
||||
type: index
|
||||
weight: 1
|
||||
---
|
||||
|
||||
<b>Laradock is a full PHP development environment based on Docker.</b>
|
||||
<b>Laradock</b> 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.
|
||||
|
||||
<br>
|
||||
|
||||
---
|
||||
### Use Docker First - Then Learn About It Later!</q>
|
||||
---
|
||||
|
||||
<a name="features"></a>
|
||||
## Features
|
||||
@ -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.
|
||||
|
||||
<br>
|
||||
|
||||
---
|
||||
### Use Docker First - Then Learn About It Later</q>
|
||||
---
|
||||
|
||||
|
||||
|
||||
|
||||
## Quick Overview
|
||||
@ -73,7 +76,7 @@ That's it! enjoy :)
|
||||
|
||||
|
||||
<a name="Supported-Containers"></a>
|
||||
## 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.
|
||||
@ -354,6 +357,8 @@ Contribute and help us sustain the project.
|
||||
<b>Option 2:</b> Become a Sponsor via [Github Sponsors](https://github.com/sponsors/Mahmoudz).
|
||||
<br>
|
||||
<b>Option 3:</b> Become a Sponsor/Backer via [Open Collective](https://opencollective.com/laradock/contribute).
|
||||
<br>
|
||||
<b>Option 4:</b> Become a [Patreon](https://www.patreon.com/zalt).
|
||||
|
||||
<a name="sponsors"></a>
|
||||
## Sponsors
|
||||
|
@ -1,7 +0,0 @@
|
||||
---
|
||||
title: 8. License
|
||||
type: index
|
||||
weight: 8
|
||||
---
|
||||
|
||||
[MIT License](https://github.com/laradock/laradock/blob/master/LICENSE) (MIT)
|
@ -1,21 +1,49 @@
|
||||
---
|
||||
title: 9. Related Projects
|
||||
title: Related Projects
|
||||
type: index
|
||||
weight: 9
|
||||
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)
|
||||
* [Laradock Multi](https://github.com/bagart/laradock-multi) by [BAGArt](https://github.com/bagart) - Laradock wrapper template
|
||||
for running multiple related projects with different versions of PHP and Node.js such as Microservice Architecture (MSA)
|
||||
|
||||
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))
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<br><br>
|
||||
|
||||
> Feel free to submit a PR for listing your project here.
|
||||
|
@ -36,6 +36,7 @@
|
||||
{{ with .Site.Params.copyright }}
|
||||
© {{ $.Now.Format "2006" }} {{ . }} –
|
||||
{{ end }}
|
||||
<br><br>
|
||||
Documentation built with
|
||||
<a href="https://www.gohugo.io" target="_blank">Hugo</a>
|
||||
using the
|
||||
|
@ -32,6 +32,7 @@
|
||||
{{ with .Site.Params.copyright }}
|
||||
© {{ $.Now.Format "2006" }} {{ . }} –
|
||||
{{ end }}
|
||||
<br><br>
|
||||
Documentation built with
|
||||
<a href="https://www.gohugo.io" target="_blank">Hugo</a>
|
||||
using the
|
||||
|
@ -39,7 +39,7 @@
|
||||
<!-- ------------------------------------------------------------------------- -->
|
||||
|
||||
<br><br><br>
|
||||
<img src="https://raw.githubusercontent.com/laradock/laradock/master/.github/home-page-images/laradock-logo.jpg" alt="laradock logo">
|
||||
<img src="images/laradock-full-logo.jpg" alt="laradock logo">
|
||||
|
||||
{{ range where .Site.Pages "Type" "index" }}
|
||||
<br><br><br><br><br><br>
|
||||
@ -54,6 +54,7 @@
|
||||
{{ with .Site.Params.copyright }}
|
||||
© {{ $.Now.Format "2006" }} {{ . }} –
|
||||
{{ end }}
|
||||
<br><br>
|
||||
Documentation built with
|
||||
<a href="https://www.gohugo.io" target="_blank">Hugo</a>
|
||||
using the
|
||||
|
@ -36,6 +36,25 @@
|
||||
<link rel="shortcut icon" type="image/x-icon" href="{{ with .Site.Params.favicon }}{{ . | absURL }}{{ else }}{{ "images/favicon.ico" | absURL }}{{ end }}">
|
||||
<link rel="icon" type="image/x-icon" href="{{ with .Site.Params.favicon }}{{ . | absURL }}{{ else }}{{ "images/favicon.ico" | absURL }}{{ end }}">
|
||||
|
||||
<!-- <link rel="icon" type="image/png" sizes="192x192" href="images/favicons/android-icon-192x192.png">-->
|
||||
<!-- <link rel="icon" type="image/png" sizes="32x32" href="images/favicons/favicon-32x32.png">-->
|
||||
<!-- <link rel="icon" type="image/png" sizes="96x96" href="images/favicons/favicon-96x96.png">-->
|
||||
<!-- <link rel="icon" type="image/png" sizes="16x16" href="images/favicons/favicon-16x16.png">-->
|
||||
|
||||
<link rel="apple-touch-icon" sizes="57x57" href="images/favicons/apple-icon-57x57.png">
|
||||
<link rel="apple-touch-icon" sizes="60x60" href="images/favicons/apple-icon-60x60.png">
|
||||
<link rel="apple-touch-icon" sizes="72x72" href="images/favicons/apple-icon-72x72.png">
|
||||
<link rel="apple-touch-icon" sizes="76x76" href="images/favicons/apple-icon-76x76.png">
|
||||
<link rel="apple-touch-icon" sizes="114x114" href="images/favicons/apple-icon-114x114.png">
|
||||
<link rel="apple-touch-icon" sizes="120x120" href="images/favicons/apple-icon-120x120.png">
|
||||
<link rel="apple-touch-icon" sizes="144x144" href="images/favicons/apple-icon-144x144.png">
|
||||
<link rel="apple-touch-icon" sizes="152x152" href="images/favicons/apple-icon-152x152.png">
|
||||
<link rel="apple-touch-icon" sizes="180x180" href="images/favicons/apple-icon-180x180.png">
|
||||
<link rel="manifest" href="images/favicons/manifest.json">
|
||||
<meta name="msapplication-TileColor" content="#7e57c2">
|
||||
<meta name="msapplication-TileImage" content="images/favicons/ms-icon-144x144.png">
|
||||
<meta name="theme-color" content="#7e57c2">
|
||||
|
||||
<style>
|
||||
@font-face {
|
||||
font-family: 'Icon';
|
||||
|
After Width: | Height: | Size: 6.6 KiB |
After Width: | Height: | Size: 7.3 KiB |
After Width: | Height: | Size: 1.9 KiB |
After Width: | Height: | Size: 2.4 KiB |
After Width: | Height: | Size: 3.2 KiB |
After Width: | Height: | Size: 4.3 KiB |
After Width: | Height: | Size: 5.1 KiB |
After Width: | Height: | Size: 5.3 KiB |
After Width: | Height: | Size: 6.6 KiB |
After Width: | Height: | Size: 7.1 KiB |
After Width: | Height: | Size: 8.6 KiB |
After Width: | Height: | Size: 2.7 KiB |
After Width: | Height: | Size: 2.8 KiB |
After Width: | Height: | Size: 3.2 KiB |
After Width: | Height: | Size: 3.4 KiB |
After Width: | Height: | Size: 7.9 KiB |
After Width: | Height: | Size: 7.9 KiB |
@ -0,0 +1,2 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<browserconfig><msapplication><tile><square70x70logo src="/ms-icon-70x70.png"/><square150x150logo src="/ms-icon-150x150.png"/><square310x310logo src="/ms-icon-310x310.png"/><TileColor>#ffffff</TileColor></tile></msapplication></browserconfig>
|
After Width: | Height: | Size: 1.4 KiB |
After Width: | Height: | Size: 1.8 KiB |
After Width: | Height: | Size: 4.3 KiB |
After Width: | Height: | Size: 1.1 KiB |
@ -0,0 +1,41 @@
|
||||
{
|
||||
"name": "App",
|
||||
"icons": [
|
||||
{
|
||||
"src": "\/android-icon-36x36.png",
|
||||
"sizes": "36x36",
|
||||
"type": "image\/png",
|
||||
"density": "0.75"
|
||||
},
|
||||
{
|
||||
"src": "\/android-icon-48x48.png",
|
||||
"sizes": "48x48",
|
||||
"type": "image\/png",
|
||||
"density": "1.0"
|
||||
},
|
||||
{
|
||||
"src": "\/android-icon-72x72.png",
|
||||
"sizes": "72x72",
|
||||
"type": "image\/png",
|
||||
"density": "1.5"
|
||||
},
|
||||
{
|
||||
"src": "\/android-icon-96x96.png",
|
||||
"sizes": "96x96",
|
||||
"type": "image\/png",
|
||||
"density": "2.0"
|
||||
},
|
||||
{
|
||||
"src": "\/android-icon-144x144.png",
|
||||
"sizes": "144x144",
|
||||
"type": "image\/png",
|
||||
"density": "3.0"
|
||||
},
|
||||
{
|
||||
"src": "\/android-icon-192x192.png",
|
||||
"sizes": "192x192",
|
||||
"type": "image\/png",
|
||||
"density": "4.0"
|
||||
}
|
||||
]
|
||||
}
|
After Width: | Height: | Size: 6.6 KiB |
After Width: | Height: | Size: 7.0 KiB |
After Width: | Height: | Size: 19 KiB |
After Width: | Height: | Size: 3.2 KiB |
After Width: | Height: | Size: 287 KiB |
@ -23,7 +23,7 @@
|
||||
|
||||
|
||||
|
||||
<h4 align="center" style="color:#7d58c2">Use Docker First - Then Learn About It Later</h4>
|
||||
<h4 align="center" style="color:#7d58c2">Use Docker First - Then Learn About It Later!</h4>
|
||||
|
||||
<p align="center">
|
||||
<a href="http://laradock.io">
|
||||
@ -176,6 +176,8 @@ Contribute and help us sustain the project.
|
||||
<b>Option 2:</b> Become a Sponsor via [Github Sponsors](https://github.com/sponsors/Mahmoudz).
|
||||
<br>
|
||||
<b>Option 3:</b> Become a Sponsor/Backer via [Open Collective](https://opencollective.com/laradock/contribute).
|
||||
<br>
|
||||
<b>Option 4:</b> Become a [Patreon](https://www.patreon.com/zalt).
|
||||
|
||||
## Sponsors
|
||||
|
||||
|
@ -60,7 +60,9 @@ services:
|
||||
context: ./workspace
|
||||
args:
|
||||
- CHANGE_SOURCE=${CHANGE_SOURCE}
|
||||
- SHELL_OH_MY_ZSH=${SHELL_OH_MY_ZSH}
|
||||
- UBUNTU_SOURCE=${UBUNTU_SOURCE}
|
||||
- BASE_IMAGE_TAG_PREFIX=${WORKSPACE_BASE_IMAGE_TAG_PREFIX}
|
||||
- LARADOCK_PHP_VERSION=${PHP_VERSION}
|
||||
- LARADOCK_PHALCON_VERSION=${PHALCON_VERSION}
|
||||
- INSTALL_SUBVERSION=${WORKSPACE_INSTALL_SUBVERSION}
|
||||
@ -85,6 +87,7 @@ services:
|
||||
- NVM_NODEJS_ORG_MIRROR=${WORKSPACE_NVM_NODEJS_ORG_MIRROR}
|
||||
- INSTALL_NODE=${WORKSPACE_INSTALL_NODE}
|
||||
- NPM_REGISTRY=${WORKSPACE_NPM_REGISTRY}
|
||||
- INSTALL_PNPM=${WORKSPACE_INSTALL_PNPM}
|
||||
- INSTALL_YARN=${WORKSPACE_INSTALL_YARN}
|
||||
- INSTALL_NPM_GULP=${WORKSPACE_INSTALL_NPM_GULP}
|
||||
- INSTALL_NPM_BOWER=${WORKSPACE_INSTALL_NPM_BOWER}
|
||||
@ -127,6 +130,7 @@ services:
|
||||
- INSTALL_YAML=${WORKSPACE_INSTALL_YAML}
|
||||
- INSTALL_MAILPARSE=${WORKSPACE_INSTALL_MAILPARSE}
|
||||
- INSTALL_GIT_PROMPT=${WORKSPACE_INSTALL_GIT_PROMPT}
|
||||
- INSTALL_XMLRPC=${WORKSPACE_INSTALL_XMLRPC}
|
||||
- PUID=${WORKSPACE_PUID}
|
||||
- PGID=${WORKSPACE_PGID}
|
||||
- CHROME_DRIVER_VERSION=${WORKSPACE_CHROME_DRIVER_VERSION}
|
||||
@ -153,8 +157,11 @@ services:
|
||||
- "dockerhost:${DOCKER_HOST_IP}"
|
||||
ports:
|
||||
- "${WORKSPACE_SSH_PORT}:22"
|
||||
- "${WORKSPACE_BROWSERSYNC_HOST_PORT}:3000"
|
||||
- "${WORKSPACE_BROWSERSYNC_UI_HOST_PORT}:3001"
|
||||
- "${WORKSPACE_VUE_CLI_SERVE_HOST_PORT}:8080"
|
||||
- "${WORKSPACE_VUE_CLI_UI_HOST_PORT}:8000"
|
||||
- "${WORKSPACE_ANGULAR_CLI_SERVE_HOST_PORT}:4200"
|
||||
tty: true
|
||||
environment:
|
||||
- PHP_IDE_CONFIG=${PHP_IDE_CONFIG}
|
||||
@ -174,6 +181,7 @@ services:
|
||||
context: ./php-fpm
|
||||
args:
|
||||
- CHANGE_SOURCE=${CHANGE_SOURCE}
|
||||
- BASE_IMAGE_TAG_PREFIX=${PHP_FPM_BASE_IMAGE_TAG_PREFIX}
|
||||
- LARADOCK_PHP_VERSION=${PHP_VERSION}
|
||||
- LARADOCK_PHALCON_VERSION=${PHALCON_VERSION}
|
||||
- INSTALL_BZ2=${PHP_FPM_INSTALL_BZ2}
|
||||
@ -229,6 +237,7 @@ services:
|
||||
- INSTALL_FFMPEG=${PHP_FPM_FFMPEG}
|
||||
- INSTALL_WKHTMLTOPDF=${PHP_FPM_INSTALL_WKHTMLTOPDF}
|
||||
- INSTALL_XHPROF=${PHP_FPM_INSTALL_XHPROF}
|
||||
- INSTALL_XMLRPC=${PHP_FPM_INSTALL_XMLRPC}
|
||||
- PUID=${PHP_FPM_PUID}
|
||||
- PGID=${PHP_FPM_PGID}
|
||||
- LOCALE=${PHP_FPM_DEFAULT_LOCALE}
|
||||
@ -267,9 +276,11 @@ services:
|
||||
- PHALCON_VERSION=${PHALCON_VERSION}
|
||||
- INSTALL_BZ2=${PHP_WORKER_INSTALL_BZ2}
|
||||
- INSTALL_GD=${PHP_WORKER_INSTALL_GD}
|
||||
- INSTALL_IMAGEMAGICK=${PHP_WORKER_INSTALL_IMAGEMAGICK}
|
||||
- INSTALL_GMP=${PHP_WORKER_INSTALL_GMP}
|
||||
- INSTALL_PGSQL=${PHP_WORKER_INSTALL_PGSQL}
|
||||
- INSTALL_BCMATH=${PHP_WORKER_INSTALL_BCMATH}
|
||||
- INSTALL_OCI8=${PHP_WORKER_INSTALL_OCI8}
|
||||
- INSTALL_PHALCON=${PHP_WORKER_INSTALL_PHALCON}
|
||||
- INSTALL_SOAP=${PHP_WORKER_INSTALL_SOAP}
|
||||
- INSTALL_ZIP_ARCHIVE=${PHP_WORKER_INSTALL_ZIP_ARCHIVE}
|
||||
@ -282,6 +293,8 @@ services:
|
||||
- INSTALL_TAINT=${PHP_WORKER_INSTALL_TAINT}
|
||||
- INSTALL_FFMPEG=${PHP_WORKER_INSTALL_FFMPEG}
|
||||
- INSTALL_REDIS=${PHP_WORKER_INSTALL_REDIS}
|
||||
- INSTALL_IMAP=${PHP_WORKER_INSTALL_IMAP}
|
||||
- INSTALL_XMLRPC=${PHP_WORKER_INSTALL_XMLRPC}
|
||||
- PUID=${PHP_WORKER_PUID}
|
||||
- PGID=${PHP_WORKER_PGID}
|
||||
volumes:
|
||||
@ -303,6 +316,7 @@ services:
|
||||
- INSTALL_BZ2=${LARAVEL_HORIZON_INSTALL_BZ2}
|
||||
- INSTALL_GD=${LARAVEL_HORIZON_INSTALL_GD}
|
||||
- INSTALL_GMP=${LARAVEL_HORIZON_INSTALL_GMP}
|
||||
- INSTALL_IMAGEMAGICK=${LARAVEL_HORIZON_INSTALL_IMAGEMAGICK}
|
||||
- INSTALL_PGSQL=${PHP_FPM_INSTALL_PGSQL}
|
||||
- INSTALL_ZIP_ARCHIVE=${LARAVEL_HORIZON_INSTALL_ZIP_ARCHIVE}
|
||||
- INSTALL_BCMATH=${PHP_FPM_INSTALL_BCMATH}
|
||||
@ -815,6 +829,9 @@ services:
|
||||
memlock:
|
||||
soft: -1
|
||||
hard: -1
|
||||
nofile:
|
||||
soft: 65536
|
||||
hard: 65536
|
||||
ports:
|
||||
- "${ELASTICSEARCH_HOST_HTTP_PORT}:9200"
|
||||
- "${ELASTICSEARCH_HOST_TRANSPORT_PORT}:9300"
|
||||
@ -1297,11 +1314,13 @@ services:
|
||||
|
||||
### NetData ################################################
|
||||
netdata:
|
||||
image: titpetric/netdata:latest
|
||||
image: netdata/netdata:latest
|
||||
cap_add:
|
||||
- SYS_PTRACE
|
||||
volumes:
|
||||
- /:/host:ro
|
||||
- /proc:/host/proc:ro
|
||||
- /sys:/host/sys:ro
|
||||
- /var/run/docker.sock:/var/run/docker.sock:ro
|
||||
ports:
|
||||
- "${NETDATA_PORT}:19999"
|
||||
networks:
|
||||
@ -1606,19 +1625,38 @@ services:
|
||||
traefik:
|
||||
build:
|
||||
context: ./traefik
|
||||
command: --docker
|
||||
volumes:
|
||||
- /var/run/docker.sock:/var/run/docker.sock
|
||||
- ./traefik/data:/data
|
||||
command:
|
||||
- "--api"
|
||||
- "--providers.docker.exposedbydefault=false"
|
||||
- "--accesslog.filepath=/data/access.log"
|
||||
# entrypoints
|
||||
- "--entrypoints.http.address=:${TRAEFIK_HOST_HTTP_PORT}"
|
||||
- "--entrypoints.http.http.redirections.entrypoint.to=https"
|
||||
- "--entrypoints.https.address=:${TRAEFIK_HOST_HTTPS_PORT}"
|
||||
- "--entrypoints.traefik.address=:${TRAEFIK_DASHBOARD_PORT}"
|
||||
# certificatesresolvers
|
||||
- "--certificatesresolvers.letsencrypt.acme.email=${ACME_EMAIL}"
|
||||
- "--certificatesresolvers.letsencrypt.acme.storage=/data/acme.json"
|
||||
- "--certificatesresolvers.letsencrypt.acme.httpchallenge.entrypoint=http"
|
||||
ports:
|
||||
- "${TRAEFIK_HOST_HTTP_PORT}:80"
|
||||
- "${TRAEFIK_HOST_HTTPS_PORT}:443"
|
||||
- "${TRAEFIK_HOST_HTTP_PORT}:${TRAEFIK_HOST_HTTP_PORT}"
|
||||
- "${TRAEFIK_HOST_HTTPS_PORT}:${TRAEFIK_HOST_HTTPS_PORT}"
|
||||
- "${TRAEFIK_DASHBOARD_PORT}:${TRAEFIK_DASHBOARD_PORT}"
|
||||
networks:
|
||||
- frontend
|
||||
- backend
|
||||
labels:
|
||||
- traefik.backend=traefik
|
||||
- traefik.frontend.rule=Host:monitor.localhost
|
||||
- traefik.port=8080
|
||||
- "traefik.enable=true"
|
||||
- "traefik.http.routers.traefik.rule=Host(`${ACME_DOMAIN}`)"
|
||||
- "traefik.http.routers.traefik.entrypoints=traefik"
|
||||
- "traefik.http.routers.traefik.service=api@internal"
|
||||
- "traefik.http.routers.traefik.middlewares=access-auth"
|
||||
- "traefik.http.routers.traefik.tls.certresolver=letsencrypt"
|
||||
- "traefik.http.middlewares.access-auth.basicauth.realm=Login Required"
|
||||
- "traefik.http.middlewares.access-auth.basicauth.users=${TRAEFIK_DASHBOARD_USER}"
|
||||
|
||||
### MOSQUITTO Broker #########################################
|
||||
mosquitto:
|
||||
|
33
env-example
@ -32,7 +32,7 @@ COMPOSE_FILE=docker-compose.yml
|
||||
# Change the separator from : to ; on Windows
|
||||
COMPOSE_PATH_SEPARATOR=:
|
||||
|
||||
# Define the prefix of container names. This is useful if you have multiple projects that use laradock to have seperate containers per project.
|
||||
# Define the prefix of container names. This is useful if you have multiple projects that use laradock to have separate containers per project.
|
||||
COMPOSE_PROJECT_NAME=laradock
|
||||
|
||||
### PHP Version ###########################################
|
||||
@ -44,7 +44,7 @@ PHP_VERSION=7.3
|
||||
### Phalcon Version ###########################################
|
||||
|
||||
# Select a Phalcon version of the Workspace and PHP-FPM containers (Does not apply to HHVM). Accepted values: 3.4.0+
|
||||
PHALCON_VERSION=3.4.5
|
||||
PHALCON_VERSION=4.0.5
|
||||
|
||||
### PHP Interpreter #######################################
|
||||
|
||||
@ -78,12 +78,19 @@ UBUNTU_SOURCE=aliyun
|
||||
# If you are using Docker Sync. For `osx` use 'native_osx', for `windows` use 'unison', for `linux` docker-sync is not required
|
||||
DOCKER_SYNC_STRATEGY=native_osx
|
||||
|
||||
### Install Oh My ZSH! ####################################
|
||||
|
||||
# If you want to use "Oh My ZSH!" with Laravel autocomplete plugin, set SHELL_OH_MY_ZSH to true.
|
||||
|
||||
SHELL_OH_MY_ZSH=false
|
||||
|
||||
###########################################################
|
||||
################ Containers Customization #################
|
||||
###########################################################
|
||||
|
||||
### WORKSPACE #############################################
|
||||
|
||||
WORKSPACE_BASE_IMAGE_TAG_PREFIX=latest
|
||||
WORKSPACE_COMPOSER_GLOBAL_INSTALL=true
|
||||
WORKSPACE_COMPOSER_AUTH=false
|
||||
WORKSPACE_COMPOSER_REPO_PACKAGIST=
|
||||
@ -91,6 +98,7 @@ WORKSPACE_NVM_NODEJS_ORG_MIRROR=
|
||||
WORKSPACE_INSTALL_NODE=true
|
||||
WORKSPACE_NODE_VERSION=node
|
||||
WORKSPACE_NPM_REGISTRY=
|
||||
WORKSPACE_INSTALL_PNPM=false
|
||||
WORKSPACE_INSTALL_YARN=true
|
||||
WORKSPACE_YARN_VERSION=latest
|
||||
WORKSPACE_INSTALL_NPM_GULP=true
|
||||
@ -150,6 +158,7 @@ WORKSPACE_INSTALL_INOTIFY=false
|
||||
WORKSPACE_INSTALL_FSWATCH=false
|
||||
WORKSPACE_INSTALL_YAML=false
|
||||
WORKSPACE_INSTALL_MAILPARSE=false
|
||||
WORKSPACE_INSTALL_XMLRPC=false
|
||||
WORKSPACE_PUID=1000
|
||||
WORKSPACE_PGID=1000
|
||||
WORKSPACE_CHROME_DRIVER_VERSION=2.42
|
||||
@ -160,12 +169,16 @@ WORKSPACE_INSTALL_WKHTMLTOPDF=false
|
||||
WORKSPACE_INSTALL_GNU_PARALLEL=false
|
||||
WORKSPACE_INSTALL_AST=true
|
||||
WORKSPACE_AST_VERSION=1.0.3
|
||||
WORKSPACE_BROWSERSYNC_HOST_PORT=3000
|
||||
WORKSPACE_BROWSERSYNC_UI_HOST_PORT=3001
|
||||
WORKSPACE_VUE_CLI_SERVE_HOST_PORT=8080
|
||||
WORKSPACE_VUE_CLI_UI_HOST_PORT=8001
|
||||
WORKSPACE_ANGULAR_CLI_SERVE_HOST_PORT=4200
|
||||
WORKSPACE_INSTALL_GIT_PROMPT=false
|
||||
|
||||
### PHP_FPM ###############################################
|
||||
|
||||
PHP_FPM_BASE_IMAGE_TAG_PREFIX=latest
|
||||
PHP_FPM_INSTALL_BCMATH=true
|
||||
PHP_FPM_INSTALL_MYSQLI=true
|
||||
PHP_FPM_INSTALL_INTL=true
|
||||
@ -207,6 +220,7 @@ PHP_FPM_INSTALL_FAKETIME=false
|
||||
PHP_FPM_INSTALL_IONCUBE=false
|
||||
PHP_FPM_INSTALL_RDKAFKA=false
|
||||
PHP_FPM_INSTALL_GETTEXT=false
|
||||
PHP_FPM_INSTALL_XMLRPC=false
|
||||
PHP_FPM_FAKETIME=-0
|
||||
PHP_FPM_INSTALL_APCU=false
|
||||
PHP_FPM_INSTALL_CACHETOOL=false
|
||||
@ -228,9 +242,12 @@ PHP_FPM_PGID=1000
|
||||
|
||||
PHP_WORKER_INSTALL_BZ2=false
|
||||
PHP_WORKER_INSTALL_GD=false
|
||||
PHP_WORKER_INSTALL_IMAGEMAGICK=false
|
||||
PHP_WORKER_INSTALL_GMP=false
|
||||
PHP_WORKER_INSTALL_PGSQL=false
|
||||
PHP_WORKER_INSTALL_BCMATH=false
|
||||
# PHP_WORKER_INSTALL_OCI8 Does not work in php5.6 version
|
||||
PHP_WORKER_INSTALL_OCI8=false
|
||||
PHP_WORKER_INSTALL_PHALCON=false
|
||||
PHP_WORKER_INSTALL_SOAP=false
|
||||
PHP_WORKER_INSTALL_ZIP_ARCHIVE=false
|
||||
@ -243,6 +260,8 @@ PHP_WORKER_INSTALL_FFMPEG=false
|
||||
PHP_WORKER_INSTALL_CASSANDRA=false
|
||||
PHP_WORKER_INSTALL_GEARMAN=false
|
||||
PHP_WORKER_INSTALL_REDIS=false
|
||||
PHP_WORKER_INSTALL_IMAP=false
|
||||
PHP_WORKER_INSTALL_XMLRPC
|
||||
|
||||
PHP_WORKER_PUID=1000
|
||||
PHP_WORKER_PGID=1000
|
||||
@ -262,6 +281,7 @@ NGINX_SSL_PATH=./nginx/ssl/
|
||||
LARAVEL_HORIZON_INSTALL_BZ2=false
|
||||
LARAVEL_HORIZON_INSTALL_GD=false
|
||||
LARAVEL_HORIZON_INSTALL_GMP=false
|
||||
LARAVEL_HORIZON_INSTALL_IMAGEMAGICK=false
|
||||
LARAVEL_HORIZON_INSTALL_SOCKETS=false
|
||||
LARAVEL_HORIZON_INSTALL_YAML=false
|
||||
LARAVEL_HORIZON_INSTALL_ZIP_ARCHIVE=false
|
||||
@ -379,7 +399,7 @@ MINIO_PORT=9000
|
||||
|
||||
### ADMINER ###############################################
|
||||
|
||||
ADM_PORT=8080
|
||||
ADM_PORT=8081
|
||||
ADM_INSTALL_MSSQL=false
|
||||
|
||||
### PHP MY ADMIN ##########################################
|
||||
@ -393,7 +413,7 @@ PMA_DB_ENGINE=mysql
|
||||
PMA_USER=default
|
||||
PMA_PASSWORD=secret
|
||||
PMA_ROOT_PASSWORD=secret
|
||||
PMA_PORT=8080
|
||||
PMA_PORT=8081
|
||||
|
||||
### MAILDEV ###############################################
|
||||
|
||||
@ -746,6 +766,11 @@ MAILU_WEBDAV=radicale
|
||||
|
||||
TRAEFIK_HOST_HTTP_PORT=80
|
||||
TRAEFIK_HOST_HTTPS_PORT=443
|
||||
TRAEFIK_DASHBOARD_PORT=8888
|
||||
# basic authentication for traefik dashboard username: admin password:admin
|
||||
TRAEFIK_DASHBOARD_USER=admin:$2y$10$lXaL3lj6raFic6rFqr2.lOBoCudAIhB6zyoqObNg290UFppiUzTTi
|
||||
ACME_DOMAIN=example.org
|
||||
ACME_EMAIL=email@example.org
|
||||
|
||||
|
||||
### MOSQUITTO #################################################
|
||||
|
@ -67,6 +67,16 @@ RUN if [ ${INSTALL_GMP} = true ]; then \
|
||||
docker-php-ext-install gmp \
|
||||
;fi
|
||||
|
||||
#Install ImageMagick package:
|
||||
ARG INSTALL_IMAGEMAGICK=false
|
||||
RUN set -eux; \
|
||||
if [ ${INSTALL_IMAGEMAGICK} = true ]; then \
|
||||
apk add --update --no-cache imagemagick-dev; \
|
||||
pecl install imagick; \
|
||||
docker-php-ext-enable imagick; \
|
||||
php -m | grep -q 'imagick'; \
|
||||
fi
|
||||
|
||||
#Install BCMath package:
|
||||
ARG INSTALL_BCMATH=false
|
||||
RUN if [ ${INSTALL_BCMATH} = true ]; then \
|
||||
|
@ -8,4 +8,5 @@ ADD ./pipeline/ /usr/share/logstash/pipeline/
|
||||
ADD ./config/ /usr/share/logstash/config/
|
||||
|
||||
RUN logstash-plugin install logstash-input-jdbc
|
||||
RUN logstash-plugin install logstash-input-beats
|
||||
|
||||
|
@ -13,7 +13,8 @@
|
||||
#
|
||||
|
||||
ARG LARADOCK_PHP_VERSION
|
||||
FROM laradock/php-fpm:2.7-${LARADOCK_PHP_VERSION}
|
||||
ARG BASE_IMAGE_TAG_PREFIX=latest
|
||||
FROM laradock/php-fpm:${BASE_IMAGE_TAG_PREFIX}-${LARADOCK_PHP_VERSION}
|
||||
|
||||
LABEL maintainer="Mahmoud Zalt <mahmoud@zalt.me>"
|
||||
|
||||
@ -720,7 +721,14 @@ ENV LARADOCK_PHALCON_VERSION ${LARADOCK_PHALCON_VERSION}
|
||||
COPY ./phalcon.ini /usr/local/etc/php/conf.d/phalcon.ini.disable
|
||||
|
||||
RUN if [ $INSTALL_PHALCON = true ]; then \
|
||||
apt-get update && apt-get install -y unzip libpcre3-dev gcc make re2c \
|
||||
apt-get update && apt-get install -y unzip libpcre3-dev gcc make re2c git automake autoconf\
|
||||
&& git clone https://github.com/jbboehr/php-psr.git \
|
||||
&& cd php-psr \
|
||||
&& phpize \
|
||||
&& ./configure \
|
||||
&& make \
|
||||
&& make test \
|
||||
&& make install \
|
||||
&& curl -L -o /tmp/cphalcon.zip https://github.com/phalcon/cphalcon/archive/v${LARADOCK_PHALCON_VERSION}.zip \
|
||||
&& unzip -d /tmp/ /tmp/cphalcon.zip \
|
||||
&& cd /tmp/cphalcon-${LARADOCK_PHALCON_VERSION}/build \
|
||||
@ -810,11 +818,7 @@ USER root
|
||||
ARG INSTALL_MYSQL_CLIENT=false
|
||||
|
||||
RUN if [ ${INSTALL_MYSQL_CLIENT} = true ]; then \
|
||||
if [ ${LARADOCK_PHP_VERSION} = "7.3" ]; then \
|
||||
apt-get -y install default-mysql-client \
|
||||
;else \
|
||||
apt-get -y install mysql-client \
|
||||
;fi \
|
||||
;fi
|
||||
|
||||
###########################################################################
|
||||
@ -902,6 +906,16 @@ RUN if [ ${INSTALL_CACHETOOL} = true ]; then \
|
||||
mv cachetool.phar /usr/local/bin/cachetool \
|
||||
;fi
|
||||
|
||||
###########################################################################
|
||||
# XMLRPC:
|
||||
###########################################################################
|
||||
|
||||
ARG INSTALL_XMLRPC=false
|
||||
|
||||
RUN if [ ${INSTALL_XMLRPC} = true ]; then \
|
||||
docker-php-ext-install xmlrpc \
|
||||
;fi
|
||||
|
||||
###########################################################################
|
||||
# Check PHP version:
|
||||
###########################################################################
|
||||
|
@ -1 +1,2 @@
|
||||
extension=psr.so
|
||||
extension=phalcon.so
|
@ -36,7 +36,7 @@ xdebug_start ()
|
||||
|
||||
# And uncomment line with xdebug extension, thus enabling it
|
||||
ON_CMD="sed -i 's/^;zend_extension=/zend_extension=/g' \
|
||||
/usr/local/etc/php/conf.d/docker-php-ext-xdebug.ini"
|
||||
/usr/local/etc/php/conf.d/xdebug.ini"
|
||||
|
||||
|
||||
# If running on Windows, need to prepend with winpty :(
|
||||
@ -58,7 +58,7 @@ xdebug_stop ()
|
||||
echo 'Stop xDebug'
|
||||
|
||||
# Comment out xdebug extension line
|
||||
OFF_CMD="sed -i 's/^zend_extension=/;zend_extension=/g' /usr/local/etc/php/conf.d/docker-php-ext-xdebug.ini"
|
||||
OFF_CMD="sed -i 's/^zend_extension=/;zend_extension=/g' /usr/local/etc/php/conf.d/xdebug.ini"
|
||||
|
||||
|
||||
# If running on Windows, need to prepend with winpty :(
|
||||
|
@ -32,10 +32,16 @@ RUN apk --update add wget \
|
||||
cyrus-sasl-dev \
|
||||
libgsasl-dev \
|
||||
oniguruma-dev \
|
||||
openssl \
|
||||
openssl-dev \
|
||||
supervisor
|
||||
|
||||
RUN docker-php-ext-install mysqli mbstring pdo pdo_mysql tokenizer xml pcntl
|
||||
RUN pecl channel-update pecl.php.net && pecl install memcached mcrypt-1.0.1 mongodb && docker-php-ext-enable memcached mongodb
|
||||
RUN if [ $(php -r "echo PHP_MAJOR_VERSION;") = "5" ]; then \
|
||||
pecl channel-update pecl.php.net && pecl install memcached-2.2.0 mcrypt-1.0.1 mongodb && docker-php-ext-enable memcached mongodb \
|
||||
;else \
|
||||
pecl channel-update pecl.php.net && pecl install memcached mcrypt-1.0.1 mongodb && docker-php-ext-enable memcached mongodb \
|
||||
;fi
|
||||
|
||||
# Add a non-root user:
|
||||
ARG PUID=1000
|
||||
@ -60,6 +66,14 @@ RUN if [ ${INSTALL_GD} = true ]; then \
|
||||
docker-php-ext-install gd \
|
||||
;fi
|
||||
|
||||
#Install ImageMagick:
|
||||
ARG INSTALL_IMAGEMAGICK=false
|
||||
RUN if [ ${INSTALL_IMAGEMAGICK} = true ]; then \
|
||||
apk add --update imagemagick-dev imagemagick; \
|
||||
pecl install imagick; \
|
||||
docker-php-ext-enable imagick \
|
||||
;fi
|
||||
|
||||
#Install GMP package:
|
||||
ARG INSTALL_GMP=false
|
||||
RUN if [ ${INSTALL_GMP} = true ]; then \
|
||||
@ -79,6 +93,47 @@ RUN if [ ${INSTALL_BCMATH} = true ]; then \
|
||||
docker-php-ext-install bcmath \
|
||||
;fi
|
||||
|
||||
###########################################################################
|
||||
# PHP OCI8:
|
||||
###########################################################################
|
||||
|
||||
ARG INSTALL_OCI8=false
|
||||
|
||||
ENV LD_LIBRARY_PATH="/usr/local/instantclient"
|
||||
ENV ORACLE_HOME="/usr/local/instantclient"
|
||||
|
||||
RUN if [ ${INSTALL_OCI8} = true ] && [ $(php -r "echo PHP_MAJOR_VERSION;") = "7" ]; then \
|
||||
apk add make php7-pear php7-dev gcc musl-dev libnsl libaio poppler-utils libzip-dev zip unzip libaio-dev freetds-dev && \
|
||||
## Download and unarchive Instant Client v11
|
||||
curl -o /tmp/basic.zip https://raw.githubusercontent.com/bumpx/oracle-instantclient/master/instantclient-basic-linux.x64-11.2.0.4.0.zip && \
|
||||
curl -o /tmp/sdk.zip https://raw.githubusercontent.com/bumpx/oracle-instantclient/master/instantclient-sdk-linux.x64-11.2.0.4.0.zip && \
|
||||
curl -o /tmp/sqlplus.zip https://raw.githubusercontent.com/bumpx/oracle-instantclient/master/instantclient-sqlplus-linux.x64-11.2.0.4.0.zip && \
|
||||
unzip -d /usr/local/ /tmp/basic.zip && \
|
||||
unzip -d /usr/local/ /tmp/sdk.zip && \
|
||||
unzip -d /usr/local/ /tmp/sqlplus.zip \
|
||||
## Links are required for older SDKs
|
||||
&& ln -s /usr/local/instantclient_11_2 ${ORACLE_HOME} && \
|
||||
ln -s ${ORACLE_HOME}/libclntsh.so.* ${ORACLE_HOME}/libclntsh.so && \
|
||||
ln -s ${ORACLE_HOME}/libocci.so.* ${ORACLE_HOME}/libocci.so && \
|
||||
ln -s ${ORACLE_HOME}/lib* /usr/lib && \
|
||||
ln -s ${ORACLE_HOME}/sqlplus /usr/bin/sqlplus &&\
|
||||
ln -s /usr/lib/libnsl.so.2.0.0 /usr/lib/libnsl.so.1 && \
|
||||
## Build OCI8 with PECL
|
||||
echo "instantclient,${ORACLE_HOME}" | pecl install oci8 && \
|
||||
echo 'extension=oci8.so' > /etc/php7/conf.d/30-oci8.ini \
|
||||
# Clean up
|
||||
apk del php7-pear php7-dev gcc musl-dev && \
|
||||
rm -rf /tmp/*.zip /tmp/pear/ && \
|
||||
docker-php-ext-configure pdo_oci --with-pdo-oci=instantclient,/usr/local/instantclient \
|
||||
&& docker-php-ext-configure pdo_dblib --with-libdir=/lib \
|
||||
&& docker-php-ext-install pdo_oci \
|
||||
&& docker-php-ext-enable oci8 \
|
||||
&& docker-php-ext-install zip && \
|
||||
# Install the zip extension
|
||||
docker-php-ext-configure zip && \
|
||||
php -m | grep -q 'zip' \
|
||||
;fi
|
||||
|
||||
# Install PostgreSQL drivers:
|
||||
ARG INSTALL_PGSQL=false
|
||||
RUN if [ ${INSTALL_PGSQL} = true ]; then \
|
||||
@ -103,11 +158,7 @@ RUN set -eux; \
|
||||
# Install MySQL Client:
|
||||
ARG INSTALL_MYSQL_CLIENT=false
|
||||
RUN if [ ${INSTALL_MYSQL_CLIENT} = true ]; then \
|
||||
if [ ${LARADOCK_PHP_VERSION} = "7.3" ]; then \
|
||||
apk --update add default-mysql-client \
|
||||
;else \
|
||||
apk --update add mysql-client \
|
||||
;fi \
|
||||
;fi
|
||||
|
||||
# Install FFMPEG:
|
||||
@ -164,6 +215,13 @@ ENV PHALCON_VERSION ${PHALCON_VERSION}
|
||||
|
||||
RUN if [ $INSTALL_PHALCON = true ]; then \
|
||||
apk --update add unzip gcc make re2c bash\
|
||||
&& git clone https://github.com/jbboehr/php-psr.git \
|
||||
&& cd php-psr \
|
||||
&& phpize \
|
||||
&& ./configure \
|
||||
&& make \
|
||||
&& make test \
|
||||
&& make install \
|
||||
&& curl -L -o /tmp/cphalcon.zip https://github.com/phalcon/cphalcon/archive/v${PHALCON_VERSION}.zip \
|
||||
&& unzip -d /tmp/ /tmp/cphalcon.zip \
|
||||
&& cd /tmp/cphalcon-${PHALCON_VERSION}/build \
|
||||
@ -219,6 +277,28 @@ RUN if [ ${INSTALL_TAINT} = true ]; then \
|
||||
docker-php-ext-enable taint \
|
||||
;fi
|
||||
|
||||
###########################################################################
|
||||
# Imap EXTENSION
|
||||
###########################################################################
|
||||
|
||||
ARG INSTALL_IMAP=false
|
||||
|
||||
RUN if [ ${INSTALL_IMAP} = true ]; then \
|
||||
apk add --update imap-dev openssl-dev && \
|
||||
docker-php-ext-configure imap --with-imap --with-imap-ssl && \
|
||||
docker-php-ext-install imap \
|
||||
;fi
|
||||
|
||||
###########################################################################
|
||||
# XMLRPC:
|
||||
###########################################################################
|
||||
|
||||
ARG INSTALL_XMLRPC=false
|
||||
|
||||
RUN if [ ${INSTALL_XMLRPC} = true ]; then \
|
||||
docker-php-ext-install xmlrpc \
|
||||
;fi
|
||||
|
||||
#
|
||||
#--------------------------------------------------------------------------
|
||||
# Optional Supervisord Configuration
|
||||
|
@ -1,7 +1,11 @@
|
||||
FROM traefik:1.7.5-alpine
|
||||
FROM traefik:v2.2
|
||||
|
||||
LABEL maintainer="Luis Coutinho <luis@luiscoutinho.pt>"
|
||||
|
||||
COPY traefik.toml acme.json /
|
||||
WORKDIR /data
|
||||
|
||||
RUN chmod 600 /acme.json
|
||||
RUN touch acme.json
|
||||
|
||||
RUN chmod 600 acme.json
|
||||
|
||||
VOLUME /data
|
2
traefik/data/.gitignore
vendored
Normal file
@ -0,0 +1,2 @@
|
||||
*
|
||||
!.gitignore
|
@ -1,23 +0,0 @@
|
||||
defaultEntryPoints = ["http", "https"]
|
||||
|
||||
[entryPoints]
|
||||
[entryPoints.http]
|
||||
address = ":80"
|
||||
[entryPoints.http.redirect]
|
||||
entryPoint = "https"
|
||||
[entryPoints.https]
|
||||
address = ":443"
|
||||
[entryPoints.https.tls]
|
||||
|
||||
[web]
|
||||
address = ":8080"
|
||||
[acme]
|
||||
email = "email@example.org"
|
||||
storage = "acme.json"
|
||||
entryPoint = "https"
|
||||
onHostRule = true
|
||||
[acme.httpChallenge]
|
||||
entryPoint = "http"
|
||||
|
||||
[[acme.domais]]
|
||||
main = "localhost"
|
@ -13,7 +13,8 @@
|
||||
#
|
||||
|
||||
ARG LARADOCK_PHP_VERSION
|
||||
FROM laradock/workspace:2.6.1-${LARADOCK_PHP_VERSION}
|
||||
ARG BASE_IMAGE_TAG_PREFIX=latest
|
||||
FROM laradock/workspace:${BASE_IMAGE_TAG_PREFIX}-${LARADOCK_PHP_VERSION}
|
||||
|
||||
LABEL maintainer="Mahmoud Zalt <mahmoud@zalt.me>"
|
||||
|
||||
@ -50,6 +51,7 @@ ARG UBUNTU_SOURCE
|
||||
COPY ./sources.sh /tmp/sources.sh
|
||||
|
||||
RUN if [ ${CHANGE_SOURCE} = true ]; then \
|
||||
chmod +x /tmp/sources.sh && \
|
||||
/bin/sh -c /tmp/sources.sh && \
|
||||
rm -rf /tmp/sources.sh \
|
||||
;fi
|
||||
@ -73,7 +75,7 @@ RUN set -xe; \
|
||||
# to add more Software's or remove existing one, you need to edit the
|
||||
# base image (https://github.com/Laradock/workspace).
|
||||
#
|
||||
# next lines are here becase there is no auto build on dockerhub see https://github.com/laradock/laradock/pull/1903#issuecomment-463142846
|
||||
# next lines are here because there is no auto build on dockerhub see https://github.com/laradock/laradock/pull/1903#issuecomment-463142846
|
||||
libzip-dev zip unzip \
|
||||
# Install the zip extension
|
||||
php${LARADOCK_PHP_VERSION}-zip \
|
||||
@ -585,10 +587,13 @@ ARG AST_VERSION=1.0.3
|
||||
ENV AST_VERSION ${AST_VERSION}
|
||||
|
||||
RUN if [ ${INSTALL_AST} = true ]; then \
|
||||
# AST extension requires PHP 7.0.0 or newer
|
||||
if [ $(php -r "echo PHP_MAJOR_VERSION;") != "5" ]; then \
|
||||
# Install AST extension
|
||||
printf "\n" | pecl -q install ast-${AST_VERSION} && \
|
||||
echo "extension=ast.so" >> /etc/php/${LARADOCK_PHP_VERSION}/mods-available/ast.ini && \
|
||||
phpenmod -v ${LARADOCK_PHP_VERSION} -s cli ast \
|
||||
;fi \
|
||||
;fi
|
||||
|
||||
###########################################################################
|
||||
@ -718,6 +723,20 @@ RUN if [ ${NPM_REGISTRY} ]; then \
|
||||
. ~/.bashrc && npm config set registry ${NPM_REGISTRY} \
|
||||
;fi
|
||||
|
||||
|
||||
###########################################################################
|
||||
# PNPM:
|
||||
###########################################################################
|
||||
|
||||
USER laradock
|
||||
|
||||
ARG INSTALL_PNPM=false
|
||||
|
||||
RUN if [ ${INSTALL_PNPM} = true ]; then \
|
||||
npx pnpm add -g pnpm \
|
||||
;fi
|
||||
|
||||
|
||||
###########################################################################
|
||||
# YARN:
|
||||
###########################################################################
|
||||
@ -866,7 +885,7 @@ ARG INSTALL_LARAVEL_ENVOY=false
|
||||
|
||||
RUN if [ ${INSTALL_LARAVEL_ENVOY} = true ]; then \
|
||||
# Install the Laravel Envoy
|
||||
composer global require "laravel/envoy=~1.0" \
|
||||
composer global require "laravel/envoy=~2.0" \
|
||||
;fi
|
||||
|
||||
###########################################################################
|
||||
@ -1159,11 +1178,19 @@ ARG LARADOCK_PHALCON_VERSION
|
||||
ENV LARADOCK_PHALCON_VERSION ${LARADOCK_PHALCON_VERSION}
|
||||
|
||||
RUN if [ $INSTALL_PHALCON = true ]; then \
|
||||
apt-get update && apt-get install -y unzip libpcre3-dev gcc make re2c \
|
||||
apt-get update && apt-get install -y unzip libpcre3-dev gcc make re2c git automake autoconf\
|
||||
&& git clone https://github.com/jbboehr/php-psr.git \
|
||||
&& cd php-psr \
|
||||
&& phpize \
|
||||
&& ./configure \
|
||||
&& make \
|
||||
&& make test \
|
||||
&& make install \
|
||||
&& curl -L -o /tmp/cphalcon.zip https://github.com/phalcon/cphalcon/archive/v${LARADOCK_PHALCON_VERSION}.zip \
|
||||
&& unzip -d /tmp/ /tmp/cphalcon.zip \
|
||||
&& cd /tmp/cphalcon-${LARADOCK_PHALCON_VERSION}/build \
|
||||
&& ./install \
|
||||
&& echo "extension=psr.so" >> /etc/php/${LARADOCK_PHP_VERSION}/mods-available/phalcon.ini \
|
||||
&& echo "extension=phalcon.so" >> /etc/php/${LARADOCK_PHP_VERSION}/mods-available/phalcon.ini \
|
||||
&& ln -s /etc/php/${LARADOCK_PHP_VERSION}/mods-available/phalcon.ini /etc/php/${LARADOCK_PHP_VERSION}/cli/conf.d/30-phalcon.ini \
|
||||
&& rm -rf /tmp/cphalcon* \
|
||||
@ -1295,12 +1322,53 @@ RUN if [ ${INSTALL_GIT_PROMPT} = true ]; then \
|
||||
rm /tmp/git-prompt \
|
||||
;fi
|
||||
|
||||
###########################################################################
|
||||
# XMLRPC:
|
||||
###########################################################################
|
||||
|
||||
ARG INSTALL_XMLRPC=false
|
||||
|
||||
RUN if [ ${INSTALL_XMLRPC} = true ]; then \
|
||||
docker-php-ext-install xmlrpc \
|
||||
;fi
|
||||
|
||||
###########################################################################
|
||||
# Check PHP version:
|
||||
###########################################################################
|
||||
|
||||
RUN set -xe; php -v | head -n 1 | grep -q "PHP ${LARADOCK_PHP_VERSION}."
|
||||
|
||||
###########################################################################
|
||||
# Oh My ZSH!
|
||||
###########################################################################
|
||||
|
||||
USER root
|
||||
|
||||
ARG SHELL_OH_MY_ZSH=false
|
||||
RUN if [ ${SHELL_OH_MY_ZSH} = true ]; then \
|
||||
apt install -y zsh \
|
||||
;fi
|
||||
|
||||
USER laradock
|
||||
RUN if [ ${SHELL_OH_MY_ZSH} = true ]; then \
|
||||
sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh) --keep-zshrc" && \
|
||||
sed -i -r 's/^plugins=\(.*?\)$/plugins=(laravel5)/' /home/laradock/.zshrc && \
|
||||
echo '\n\
|
||||
bindkey "^[OB" down-line-or-search\n\
|
||||
bindkey "^[OC" forward-char\n\
|
||||
bindkey "^[OD" backward-char\n\
|
||||
bindkey "^[OF" end-of-line\n\
|
||||
bindkey "^[OH" beginning-of-line\n\
|
||||
bindkey "^[[1~" beginning-of-line\n\
|
||||
bindkey "^[[3~" delete-char\n\
|
||||
bindkey "^[[4~" end-of-line\n\
|
||||
bindkey "^[[5~" up-line-or-history\n\
|
||||
bindkey "^[[6~" down-line-or-history\n\
|
||||
bindkey "^?" backward-delete-char\n' >> /home/laradock/.zshrc \
|
||||
;fi
|
||||
|
||||
USER root
|
||||
|
||||
#
|
||||
#--------------------------------------------------------------------------
|
||||
# Final Touch
|
||||
|