Compare commits

...

88 Commits

Author SHA1 Message Date
35183eff42 Merge pull request #1240 from JeromeDesseaux/master
solving python issue when using INSTALL_NODE=true and VueJS with Laravel.
2017-11-12 18:17:45 +02:00
c5ccc2f4ff soving python issue when using INSTALL_NODE=true and VueJS with Laravel. 2017-11-12 11:04:57 +01:00
34ef36cd7e doc updates 2017-11-10 14:37:01 +02:00
7138d7a13c update some text in the index page 2017-11-08 09:01:40 +02:00
c7695ca175 add Huadong Zuo @zuohuadong to the contributors list 2017-11-08 08:31:29 +02:00
6f3c41b84d add sponsors section 2017-11-08 08:18:26 +02:00
46852bc31b Merge pull request #1232 from zuohuadong/patch-17
Update Dockerfile-71
2017-11-08 05:24:42 +02:00
5a21337cc5 Merge pull request #1231 from zuohuadong/patch-16
Update Dockerfile-70
2017-11-08 05:24:34 +02:00
e2091cd309 Merge pull request #1234 from zuohuadong/patch-19
fix error
2017-11-08 05:24:08 +02:00
1ead8aa060 Merge pull request #1228 from JeroenVanOort/master
added IMAP extension to workspace
2017-11-08 05:19:08 +02:00
7e393efbb6 add donations section 2017-11-08 05:16:50 +02:00
beecbe758b add Ads to docs 2017-11-08 04:55:58 +02:00
1b1f6b7048 fix error 2017-11-07 10:55:27 +08:00
5835d185f2 Update Dockerfile-71
Remove duplicate configuration.
2017-11-07 10:53:26 +08:00
4fc85d499d Update Dockerfile-70
Remove duplicate configuration
2017-11-07 10:52:23 +08:00
23ee4f6679 added IMAP extension to workspace 2017-11-06 11:12:02 +01:00
4e486280f4 Merge pull request #1219 from NickToony/master
Fixed: Missing PgSQL PDO drivers
2017-10-29 20:14:31 +02:00
9e807e39ee Updated: PHP-Worker documentation. 2017-10-29 13:03:59 +00:00
894b0197e0 Fixed: PHP-Worker has missing PGSQL drivers. 2017-10-29 12:54:05 +00:00
c2c30bfd0f update workspace base image version 2017-10-28 04:34:59 +03:00
152c896515 Merge pull request #1210 from nellonican/fix-env-vars
Fix variable issues.
2017-10-25 15:36:27 +03:00
4682aff622 Merge pull request #1209 from nellonican/fix-grammar
Fix grammar
2017-10-25 15:35:49 +03:00
a31114955a Remove variable 2017-10-25 12:12:20 +02:00
f4ede08b9c Fix variable issues.
Also made the variables introduced with the psql client consistent
with the existing ones. Fixes #1208
2017-10-25 11:40:47 +02:00
eac717fb21 Fix grammar 2017-10-25 09:32:12 +02:00
c05c675408 Merge pull request #1201 from geraintdong/Add_pg_client_to_workspace_phpfpm
Add pg client to workspace phpfpm
2017-10-25 01:05:29 +03:00
60998ed1e4 Merge branch 'master' into Add_pg_client_to_workspace_phpfpm 2017-10-24 13:03:56 +07:00
05879bdda2 Merge pull request #1203 from arkadiusjonczek/master
Add Grafana container under Random Tools in introduction documentation
2017-10-20 06:14:13 +03:00
70a7bdca19 Merge remote-tracking branch 'upstream/master' 2017-10-19 18:52:50 +02:00
a71d5a8548 add Grafana to Random Tools list in introduction documentation 2017-10-19 18:51:17 +02:00
9fa3733622 Merge pull request #1202 from arkadiusjonczek/master
Add Grafana Container to laradock.io :)
2017-10-19 19:41:51 +03:00
b8e657b68f Merge remote-tracking branch 'upstream/master' 2017-10-19 14:31:02 +02:00
8aaa074af2 add Use Grafana section to documention 2017-10-19 14:29:50 +02:00
3005dde240 Merge pull request #1200 from TitasGailius/master
Use node:alpine image for laravel-echo-server
2017-10-18 22:15:42 +03:00
b3922995e1 Merge pull request #1199 from zuohuadong/master
add postgres for php-fpm
2017-10-18 22:15:22 +03:00
49e48edefd Merge remote-tracking branch 'upstream/master' 2017-10-18 14:41:20 +02:00
182386b514 removed grafana-storage 2017-10-18 14:38:10 +02:00
bea122a1fd removed depends_on from grafana and added Grafana port to env-example 2017-10-18 14:34:27 +02:00
7fb00658cf Add support for pgclient to workspace & php-fpm
+ Update sample .env file
2017-10-18 10:18:23 +07:00
ee03bb607f Add support for pgclient to workspace & php-fpm 2017-10-18 10:04:23 +07:00
9abd7c30f2 Use node:alpine image for laravel-echo-server 2017-10-17 18:05:21 +03:00
6a4509c0ca Merge branch 'master' into master 2017-10-17 12:27:42 +08:00
7f5d9d07d1 add postgresql for php-fpm 2017-10-17 12:23:48 +08:00
a5c505bf28 Merge pull request #1181 from zuohuadong/patch-9
use caddy in Apache-2.0
2017-10-14 22:33:43 +03:00
427088e11b Merge pull request #1189 from maxhelias/feature/maildev
Add MailDev Container
2017-10-14 22:32:19 +03:00
3467821c28 Merge pull request #1184 from zuohuadong/patch-12
alpine be quckly
2017-10-14 22:31:51 +03:00
f9553dff4c Merge pull request #1183 from zuohuadong/patch-11
update jenkins version
2017-10-14 22:31:23 +03:00
8e556008d8 Add MailDev Container 2017-10-14 20:01:16 +02:00
17ea7b313f update 2017-10-12 18:54:09 +08:00
dff0e82ddb alpine be quckly
alpine be quckly
2017-10-12 18:42:11 +08:00
1702a5cc09 rm version 2017-10-12 18:40:12 +08:00
f15bc8e6b7 update jenkins version
update jenkins version to 2.73.2
update docker-compose version to 1.16.1
update TINI version to 0.16.1
2017-10-12 18:37:26 +08:00
903c77421c Merge pull request #1182 from khoanguyen96/fix-typos-contributing
fix typos in contributing
2017-10-12 05:47:33 +03:00
2bedfdd9d7 fix typos in contributing 2017-10-11 18:08:24 -07:00
525c4313a0 use caddy in Apache-2.0
see:   https://caddyserver.com/products/licenses

so, I use caddypulg, it is  free
2017-10-11 19:48:07 +08:00
01c358b6bc Merge pull request #1176 from taufek/tj-chrome-driver-var
Move Chrome Driver Version to Env
2017-10-06 20:44:30 +03:00
a0685705c0 Merge pull request #1175 from taufek/tj-dusk-doc-2
Update Dusk Documentation
2017-10-06 20:43:40 +03:00
98b2b2e47b Update Dusk Documentation
Added new option on how to setup and run Dusk tests without Selenium.
2017-10-07 00:47:02 +08:00
eeee14338f Move Chrome Driver Version to Env
This will allow us to upgrade chrome driver easily. Set the default chrome driver to 2.32.

Also remove the comment and empty line to avoid getting below warning:

```
[WARNING]: Empty continuation lines will become errors in a future release.
```
2017-10-06 22:58:52 +08:00
a2edf57e3b Merge pull request #1172 from taufek/tj-chrome-for-dusk
Install Dependencies to Run Dusk Tests
2017-10-03 11:43:49 +03:00
881cbfb8c2 Install Dependencies to Run Dusk Tests
**Why we need this change?**

Currently we are unable to run Dusk (Browser) tests in workspace container. This change,
is to allow us to install all dependencies needed to run Dust test which consists of

1. Linux packages such as xvfb (x-virtual frame buffer to run browser in headless container) and etc.
2. Chrome browser.
3. Chrome driver.

To install the Dusk dependencies.
1. Update `WORKSPACE_INSTALL_DUSK_DEPS` to true.
2. Run `docker-compose build workspace`.

I've also added couple of aliases to facilitate the preparation of test environment.

1. xvfb = `Xvfb -ac :0 -screen 0 1024x768x16 &` (run x-virtual frame buffer in the background)
2. serve = `php artisan serve --quiet &` (run laravel app in the background)

Once those are installed, we will need to update the default chrome driver argument in Laravel 5.5
from `--headless` to `sandbox`. Below are the steps to run Dusk in workspace.

1. `docker-compose run workspace bash` (get into workspace).
2. `laravel new dusk-test` (generate new lavarel app for testing purpose).
3. `cd dusk-test` (change directory to newly generate app folder).
4. `composer install --dev laravel/dusk` (install dusk via composer).
5. `php artisan dusk:install` (generate dusk files).
6. `sed -i '/APP_URL/d' .env` (remove APP_URL entry in .env)
7. `echo 'APP_URL=localhost:8000' >> .env` (add new APP_URL entry in .env)
8. `sed -i--'s/headless/no-sandbox/g' tests/DuskTestCase.php` (replace the default chrome driver argument).
9. `xvfb` (alias to run Xvfb instance in the background).
10. `serve` (alias to run laravel app in the background).
11. `dusk` (alias to run Dusk test).
2017-10-02 20:08:01 +08:00
508e9ebd9e added grafana docker container 2017-10-01 02:36:55 +02:00
6cff904eba Merge pull request #1170 from id2s/feature-php-ldap-workspace
Add PHP LDAP extension if needed
2017-09-29 20:15:46 +03:00
04770bc4ec Add PHP LDAP extension if needed 2017-09-29 14:56:28 +02:00
1281490c39 Merge pull request #1168 from nunomazer/master
Add pecl before mongo install on Dockerfile-56 to stop mongodb breaking building
2017-09-29 00:57:45 +03:00
3f7988060e Add pecl before mongo install 2017-09-28 17:16:05 -03:00
615cb72eab Merge pull request #1167 from ifdattic/patch-1
Fix typo
2017-09-28 19:22:37 +03:00
e036e69da2 Fix typo 2017-09-28 16:59:21 +03:00
8989c73711 Merge pull request #1163 from luciano-jr/FixAerospikeClientLink
Fix aerospike client link
2017-09-25 23:32:49 +03:00
61144ab2d9 Change the wrong link to aerospike client PHP 2017-09-25 18:30:00 +01:00
221edf4bb2 Merge pull request #23 from laradock/master
Just update the fork
2017-09-25 18:17:10 +01:00
ca9c07eb76 Add Postgre SQL Support for php-fpm & edit webserver session storage location
+ Add sample config
2017-09-25 18:40:47 +07:00
8f7b1b7e9f Add Postgre SQL Support for php-fpm & edit webserver session storage location
+ Fix bug
2017-09-25 18:31:16 +07:00
3cc917c9de Add Postgre SQL Support for php-fpm & edit webserver session storage location 2017-09-25 17:30:30 +07:00
5a073ae841 Merge pull request #1158 from taufek/tj-aliases-update
Add artisan aliases
2017-09-25 01:16:41 +03:00
8c1e71eca5 Add artisan aliases
Added below php artisan commonly used aliases:

```
dusk =  php artisan dusk
fresh = php artisan migrate:fresh
refresh = php artisan migrate:refresh
rollback = php artisan migrate:rollback
```
2017-09-24 22:16:04 +08:00
f2420ec52c Merge pull request #22 from laradock/master
Just update the fork
2017-09-22 12:13:42 +01:00
d3fb967f0f Merge pull request #21 from laradock/master
Up-to-date
2017-09-04 10:49:41 +01:00
bf691337f1 Merge pull request #20 from laradock/master
Just update the fork
2017-05-24 17:56:05 +01:00
eefd04dbfc add pg_dump 2017-04-22 13:54:19 +08:00
a657dce572 Merge pull request #3 from laradock/master
update
2017-04-22 13:49:39 +08:00
d616545268 Merge pull request #19 from laradock/master
Just update the fork
2017-03-14 13:00:16 +00:00
57ecd6e515 Merge pull request #18 from laradock/master
Just update the fork repository
2017-03-07 13:22:10 +00:00
5b5ba53112 Merge pull request #17 from laradock/master
Just update the fork project
2017-01-23 16:06:25 +00:00
bd87a26db1 Merge pull request #16 from laradock/master
Just update the fork
2017-01-09 17:46:36 +00:00
c0283da6ee Merge pull request #15 from laradock/master
Just update the fork to keep sync
2016-12-30 11:34:19 +00:00
e372d624a6 Merge pull request #14 from laradock/master
Just update the fork repository
2016-12-07 13:18:41 +00:00
db6c6e7e0f Merge pull request #13 from luciano-jr/feature/vue-cli-workspace
Add vue-cli on workspace npm global installers
2016-09-06 23:44:14 +01:00
30 changed files with 729 additions and 91 deletions

30
.github/README.md vendored
View File

@ -29,8 +29,15 @@
</p>
## Credits
## Sponsors
<a target='_blank' rel='nofollow' href='https://app.codesponsor.io/link/JHiroABWV9N5QKgcFuTA2NxX/laradock/laradock'>
<img alt='Sponsor' width='888' height='68' src='https://app.codesponsor.io/embed/JHiroABWV9N5QKgcFuTA2NxX/laradock/laradock.svg' />
</a>
## Contributors
#### Core contributors:
- [Mahmoud Zalt](https://github.com/Mahmoudz) @mahmoudz | [Twitter](https://twitter.com/Mahmoud_Zalt) | [Site](http://zalt.me)
- [Bo-Yi Wu](https://github.com/appleboy) @appleboy | [Twitter](https://twitter.com/appleboy)
- [Philippe Trépanier](https://github.com/philtrep) @philtrep
@ -42,7 +49,26 @@
- [Yu-Lung Shao (Allen)](https://github.com/bestlong) @bestlong
- [Milan Urukalo](https://github.com/urukalo) @urukalo
- [Vince Chu](https://github.com/vwchu) @vwchu
- Join Us.
- [Huadong Zuo](https://github.com/zuohuadong) @zuohuadong
- Join us, by submitting 20 useful PR's.
#### Awesome contributors:
- See full list [here](https://github.com/apiato/apiato/graphs/contributors).
## Donations
> Help keeping the project development going, by [contributing](http://laradock.io/contributing) or donating a little.
> Thanks in advance.
Donate directly via [Paypal](https://www.paypal.me/mzalt)
[![Donate](https://img.shields.io/badge/Donate-PayPal-green.svg)](https://www.paypal.me/mzalt)
or show your support via [Beerpay](https://beerpay.io/laradock/laradock)
[![Beerpay](https://beerpay.io/laradock/laradock/badge.svg?style=flat)](https://beerpay.io/laradock/laradock)
## License

View File

@ -4,7 +4,9 @@ services:
- docker
env:
matrix:
matrix:
- HUGO_VERSION=0.20.2
- PHP_VERSION=56 BUILD_SERVICE="applications blackfire minio percona nginx caddy apache2 mysql mariadb phpmyadmin postgres postgres-postgis pgadmin neo4j mongo redis"
- PHP_VERSION=70 BUILD_SERVICE="applications blackfire minio percona nginx caddy apache2 mysql mariadb phpmyadmin postgres postgres-postgis pgadmin neo4j mongo redis"
- PHP_VERSION=71 BUILD_SERVICE="applications blackfire minio percona nginx caddy apache2 mysql mariadb phpmyadmin postgres postgres-postgis pgadmin neo4j mongo redis"
@ -33,11 +35,9 @@ env:
- PHP_VERSION=70 BUILD_SERVICE=aerospike
- PHP_VERSION=71 BUILD_SERVICE=aerospike
- PHP_VERSION=56 BUILD_SERVICE="memcached beanstalkd beanstalkd-console rabbitmq adminer elasticsearch certbot mailhog selenium jenkins proxy proxy2 balancer"
- PHP_VERSION=70 BUILD_SERVICE="memcached beanstalkd beanstalkd-console rabbitmq adminer elasticsearch certbot mailhog selenium jenkins proxy proxy2 balancer"
- PHP_VERSION=71 BUILD_SERVICE="memcached beanstalkd beanstalkd-console rabbitmq adminer elasticsearch certbot mailhog selenium jenkins proxy proxy2 balancer"
- HUGO_VERSION=0.20.2
- PHP_VERSION=56 BUILD_SERVICE="memcached beanstalkd beanstalkd-console rabbitmq adminer elasticsearch certbot mailhog maildev selenium jenkins proxy proxy2 balancer"
- PHP_VERSION=70 BUILD_SERVICE="memcached beanstalkd beanstalkd-console rabbitmq adminer elasticsearch certbot mailhog maildev selenium jenkins proxy proxy2 balancer"
- PHP_VERSION=71 BUILD_SERVICE="memcached beanstalkd beanstalkd-console rabbitmq adminer elasticsearch certbot mailhog maildev selenium jenkins proxy proxy2 balancer"
# Installing a newer Docker version
before_install:

View File

@ -13,8 +13,8 @@ If you have questions about how to use Laradock, please direct your questions to
## Found an Issue
If have an issue or you found a typo in the documentation, you can help us by
opnening an [Issue](https://github.com/laradock/laradock/issues).
If you have an issue or you found a typo in the documentation, you can help us by
opening an [Issue](https://github.com/laradock/laradock/issues).
**Steps to do before opening an Issue:**
@ -24,7 +24,7 @@ opnening an [Issue](https://github.com/laradock/laradock/issues).
If your issue appears to be a bug, and hasn't been reported, then open a new issue.
*This Help us to maximize the effort we can spend fixing issues and adding new
*This helps us maximize the effort we can spend fixing issues and adding new
features, by not reporting duplicate issues.*
@ -61,7 +61,7 @@ To update the sidebar or add a new section to it, you can edit this `DOCUMENTATI
## Support new Software (Add new Container)
* Forke the repo and clone the code.
* Fork the repo and clone the code.
* Create folder as the software name (example: `mysql` - `nginx`).
@ -81,7 +81,7 @@ To update the sidebar or add a new section to it, you can edit this `DOCUMENTATI
## Edit supported Software (Edit a Container)
* Forke the repo and clone the code.
* Fork the repo and clone the code.
* Open the software (container) folder (example: `mysql` - `nginx`).

View File

@ -541,11 +541,18 @@ b) add a new service container by simply copy-paste this section below PHP-FPM c
```yaml
php-worker:
build:
context: ./php-fpm
dockerfile: Dockerfile-70 # or Dockerfile-56, choose your PHP-FPM container setting
context: ./php-worker
dockerfile: "Dockerfile-${PHP_VERSION}" #Dockerfile-71 or #Dockerfile-70 available
args:
- INSTALL_PGSQL=${PHP_WORKER_INSTALL_PGSQL} #Optionally install PGSQL PHP drivers
volumes_from:
- applications
command: php artisan queue:work
depends_on:
- workspace
extra_hosts:
- "dockerhost:${DOCKER_HOST_IP}"
networks:
- backend
```
2 - Start everything up
@ -567,13 +574,15 @@ docker-compose up -d php-worker
docker-compose up -d redis
```
> To execute redis commands, enter the redis container first `docker-compose exec redis bash` then enter the `redis-cli`.
2 - Open your Laravel's `.env` file and set the `REDIS_HOST` to `redis`
```env
REDIS_HOST=redis
```
If you don't find the `REDIS_HOST` variable in your `.env` file. Go to the database configuration file `config/database.php` and replace the default `127.0.0.1` IP with `redis` for Redis like this:
If you're using Laravel, and you don't find the `REDIS_HOST` variable in your `.env` file. Go to the database configuration file `config/database.php` and replace the default `127.0.0.1` IP with `redis` for Redis like this:
```php
'redis' => [
@ -813,19 +822,20 @@ docker-compose up -d elasticsearch
2 - Open your browser and visit the localhost on port **9200**: `http://localhost:9200`
> The default username is `user` and the default password is `changeme`.
### Install ElasticSearch Plugin
1 - Install the ElasticSearch plugin like [delete-by-query](https://www.elastic.co/guide/en/elasticsearch/plugins/current/plugins-delete-by-query.html).
1 - Install an ElasticSearch plugin.
```bash
docker exec {container-name} /usr/share/elasticsearch/bin/plugin install delete-by-query
docker-compose exec elasticsearch /usr/share/elasticsearch/bin/plugin install {plugin-name}
```
2 - Restart elasticsearch container
```bash
docker restart {container-name}
docker-compose restart elasticsearch
```
@ -942,6 +952,24 @@ docker-compose up -d aws
<br>
<a name="Use-Grafana"></a>
## Use Grafana
1 - Configure Grafana: Change Port using `GRAFANA_PORT` if you wish to. Default is port 3000.
2 - Run the Grafana Container (`grafana`) with the `docker-compose up`command:
```bash
docker-compose up -d grafana
```
3 - Open your browser and visit the localhost on port **3000** at the following URL: `http://localhost:3000`
4 - Login using the credentials User = `admin` Passwort = `admin`. Change the password in the webinterface if you want to.
<br>
<a name="CodeIgniter"></a>

View File

@ -565,6 +565,187 @@ Assuming that you are in laradock folder, type:
<a name="Laravel-Dusk"></a>
# Running Laravel Dusk Tests
- [Option 1: Without Selenium](#option1-dusk)
- [Option 2: With Selenium](#option2-dusk)
<a name="option1-dusk"></a>
## Option 1: Without Selenium
- [Intro](#option1-dusk-intro)
- [Workspace Setup](#option1-workspace-setup)
- [Application Setup](#option1-application-setup)
- [Choose Chrome Driver Version (Optional)](#option1-choose-chrome-driver-version)
- [Run Dusk Tests](#option1-run-dusk-tests)
<a name="option1-dusk-intro"></a>
### Intro
This is a guide to run Dusk tests in your `workspace` container with headless
google-chrome and chromedriver. It has been tested with Laravel 5.4 and 5.5.
<a name="option1-workspace-setup"></a>
### Workspace Setup
Update your .env with following entries:
```
...
# Install Laravel installer bin to setup demo app
WORKSPACE_INSTALL_LARAVEL_INSTALLER=true
...
# Install all the necessary dependencies for running Dusk tests
WORKSPACE_INSTALL_DUSK_DEPS=true
...
```
Then run below to build your workspace.
```
docker-compose build workspace
```
<a name="option1-application-setup"></a>
### Application Setup
Run a `workspace` container and you will be inside the container at `/var/www` directory.
```
docker-compose run workspace bash
/var/www#> _
```
Create new Laravel application named `dusk-test` and install Laravel Dusk package.
```
/var/www> laravel new dusk-test
/var/www> cd dusk-test
/var/www/dusk-test> composer require --dev laravel/dusk
/var/www/dusk-test> php artisan dusk:install
```
Create `.env.dusk.local` by copying from `.env` file.
```
/var/www/dusk-test> cp .env .env.dusk.local
```
Update the `APP_URL` entry in `.env.dusk.local` to local Laravel server.
```
APP_URL=http://localhost:8000
```
You will need to run chromedriver with `headless` and `no-sandbox` flag. In Laravel Dusk 2.x it is
already set `headless` so you just need to add `no-sandbox` flag. If you on previous version 1.x,
you will need to update your `DustTestCase#driver` as shown below.
```
<?php
...
abstract class DuskTestCase extends BaseTestCase
{
...
/**
* Update chrome driver with below flags
*/
protected function driver()
{
$options = (new ChromeOptions)->addArguments([
'--disable-gpu',
'--headless',
'--no-sandbox'
]);
return RemoteWebDriver::create(
'http://localhost:9515', DesiredCapabilities::chrome()->setCapability(
ChromeOptions::CAPABILITY, $options
)
);
}
}
```
<a name="option1-choose-chrome-driver-version"></a>
### Choose Chrome Driver Version (Optional)
You could choose to use either:
1. Chrome Driver shipped with Laravel Dusk. (Default)
2. Chrome Driver installed in `workspace` container. (Required tweak on DuskTestCase class)
For Laravel 2.x, you need to update `DuskTestCase#prepare` method if you wish to go with option #2.
```
<?php
...
abstract class DuskTestCase extends BaseTestCase
{
...
public static function prepare()
{
// Only add this line if you wish to use chrome driver installed in workspace container.
// You might want to read the file path from env file.
static::useChromedriver('/usr/local/bin/chromedriver');
static::startChromeDriver();
}
```
For Laravel 1.x, you need to add `DuskTestCase#buildChromeProcess` method if you wish to go with option #2.
```
<?php
...
use Symfony\Component\Process\ProcessBuilder;
abstract class DuskTestCase extends BaseTestCase
{
...
/**
* Only add this method if you wish to use chrome driver installed in workspace container
*/
protected static function buildChromeProcess()
{
return (new ProcessBuilder())
->setPrefix('chromedriver')
->getProcess()
->setEnv(static::chromeEnvironment());
}
...
}
```
<a name="option1-run-dusk-tests"></a>
### Run Dusk Tests
Run local server in `workspace` container and run Dusk tests.
```
# alias to run Laravel server in the background (php artisan serve --quiet &)
/var/www/dusk-test> serve
# alias to run Dusk tests (php artisan dusk)
/var/www/dusk-test> dusk
PHPUnit 6.4.0 by Sebastian Bergmann and contributors.
. 1 / 1 (100%)
Time: 837 ms, Memory: 6.00MB
```
<a name="option2-dusk"></a>
## Option 2: With Selenium
- [Intro](#dusk-intro)
- [DNS Setup](#dns-setup)
- [Docker Compose Setup](#docker-compose)
@ -572,7 +753,7 @@ Assuming that you are in laradock folder, type:
- [Running Laravel Dusk Tests](#running-tests)
<a name="dusk-intro"></a>
## Intro
### Intro
Setting up Laravel Dusk tests to run with Laradock appears be something that
eludes most Laradock users. This guide is designed to show you how to wire them
up to work together. This guide is written with macOS and Linux in mind. As such,
@ -583,7 +764,7 @@ This guide assumes you know how to use a DNS forwarder such as `dnsmasq` or are
with editing the `/etc/hosts` file for one-off DNS changes.
<a name="dns-setup"></a>
## DNS Setup
### DNS Setup
According to RFC-2606, only four TLDs are reserved for local testing[^1]:
- `.test`
@ -617,7 +798,7 @@ This will ensure that when navigating to `myapp.test`, it will route the
request to `127.0.0.1` which will be handled by Nginx in Laradock.
<a name="docker-compose"></a>
## Docker Compose setup
### Docker Compose setup
In order to make the Selenium container talk to the Nginx container appropriately,
the `docker-compose.yml` needs to be edited to accommodate this. Make the following
changes:
@ -640,7 +821,7 @@ necessary for running Dusk tests. These changes also link the `nginx` environmen
variable to the domain you wired up in your hosts file.
<a name="laravel-dusk-setup"></a>
## Laravel Dusk Setup
### Laravel Dusk Setup
In order to make Laravel Dusk make the proper request to the Selenium container,
you have to edit the `DuskTestCase.php` file that's provided on the initial
@ -650,13 +831,13 @@ Remote Web Driver attempts to use to set up the Selenium session.
One recommendation for this is to add a separate config option in your `.env.dusk.local`
so it's still possible to run your Dusk tests locally should you want to.
### .env.dusk.local
#### .env.dusk.local
```
...
USE_SELENIUM=true
```
### DuskTestCase.php
#### DuskTestCase.php
```php
abstract class DuskTestCase extends BaseTestCase
{
@ -677,7 +858,7 @@ abstract class DuskTestCase extends BaseTestCase
```
<a name="running-tests"></a>
## Running Laravel Dusk Tests
### Running Laravel Dusk Tests
Now that you have everything set up, to run your Dusk tests, you have to SSH
into the workspace container as you normally would:

View File

@ -97,7 +97,7 @@ Beanstalkd - RabbitMQ - PHP Worker
- **Queueing Management:**
Beanstalkd Console - RabbitMQ Console
- **Random Tools:**
HAProxy - Certbot - Blackfire - Selenium - Jenkins - ElasticSearch - Kibana - Mailhog - Minio - Varnish - Swoole - Laravel Echo...
HAProxy - Certbot - Blackfire - Selenium - Jenkins - ElasticSearch - Kibana - Grafana - Mailhog - MailDev - Minio - Varnish - Swoole - Laravel Echo...
Laradock introduces the **Workspace** Image, as a development environment.
It contains a rich set of helpful tools, all pre-configured to work and integrate with almost any combination of Containers and tools you may choose.
@ -116,6 +116,11 @@ If you can't find your Software in the list, build it yourself and submit it. Co
## Sponsors
<a target='_blank' rel='nofollow' href='https://app.codesponsor.io/link/JHiroABWV9N5QKgcFuTA2NxX/laradock/laradock'>
<img alt='Sponsor' width='888' height='68' src='https://app.codesponsor.io/embed/JHiroABWV9N5QKgcFuTA2NxX/laradock/laradock.svg' />
</a>
@ -170,3 +175,21 @@ What's better than a **Demo Video**:
You are welcome to join our chat room on Gitter.
[![Gitter](https://badges.gitter.im/Laradock/laradock.svg)](https://gitter.im/Laradock/laradock?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge)
<a name="Donations"></a>
## Donations
> Help keeping the project development going, by [contributing](http://laradock.io/contributing) or donating a little.
> Thanks in advance.
Donate directly via [Paypal](https://www.paypal.me/mzalt)
[![Donate](https://img.shields.io/badge/Donate-PayPal-green.svg)](https://www.paypal.me/mzalt)
or show your support via [Beerpay](https://beerpay.io/laradock/laradock)
[![Beerpay](https://beerpay.io/laradock/laradock/badge.svg?style=flat)](https://beerpay.io/laradock/laradock)

View File

@ -20,11 +20,25 @@
<main class="main">
<div class="drawer">
{{ partial "drawer" . }}
</div>
</div>
<article class="article">
<div class="wrapper">
<h1>{{ .Title }} {{ if .IsDraft }} (Draft){{ end }}</h1>
<!-- ------------------------------------------------------------------------- -->
<!-- Google Ads -->
<script async src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script>
<!-- Laradock Horizontal -->
<ins class="adsbygoogle"
style="display:inline-block;width:890px;height:100px"
data-ad-client="ca-pub-9826129398689742"
data-ad-slot="2340256024"></ins>
<script>
(adsbygoogle = window.adsbygoogle || []).push({});
</script>
<!-- ------------------------------------------------------------------------- -->
<h1>{{ .Title }} {{ if .IsDraft }} (Draft){{ end }}</h1>
{{ .Content }}

View File

@ -24,6 +24,20 @@
<article class="article">
<div class="wrapper">
<!-- ------------------------------------------------------------------------- -->
<!-- Google Ads -->
<script async src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script>
<!-- Laradock Horizontal -->
<ins class="adsbygoogle"
style="display:inline-block;width:890px;height:100px"
data-ad-client="ca-pub-9826129398689742"
data-ad-slot="2340256024"></ins>
<script>
(adsbygoogle = window.adsbygoogle || []).push({});
</script>
<!-- ------------------------------------------------------------------------- -->
{{ range where .Site.Pages "Type" "index" }}
<h1>{{ .Title }} {{ if .IsDraft }} (Draft){{ end }}</h1>

View File

@ -42,18 +42,39 @@
</ul>
{{ end }}
{{ if isset .Site.Params "author" }}
<br>
<br>
<div>
<!-- ------------------------------------------------------------------------- -->
<!-- Google Ads -->
<script async src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script>
<!-- Laradock Vertical -->
<ins class="adsbygoogle"
style="display:inline-block;width:237px;height:600px"
data-ad-client="ca-pub-9826129398689742"
data-ad-slot="9891442983"></ins>
<script>
(adsbygoogle = window.adsbygoogle || []).push({});
</script>
<!-- ------------------------------------------------------------------------- -->
</div>
<br>
<br>
<!--{{ if isset .Site.Params "author" }}-->
<!--<hr>-->
<!--<span class="section">The author</span>-->
<ul>
{{ with .Site.Social.twitter }}
<li>
<a href="https://twitter.com/{{ . }}" target="_blank" title="@{{ . }} on Twitter">
@{{ . }} on Twitter
</a>
</li>
{{ end }}
<!---->
<!--<ul>-->
<!--{{ with .Site.Social.twitter }}-->
<!--<li>-->
<!--<a href="https://twitter.com/{{ . }}" target="_blank" title="@{{ . }} on Twitter">-->
<!--@{{ . }} on Twitter-->
<!--</a>-->
<!--</li>-->
<!--{{ end }}-->
<!--{{ with .Site.Social.github }}-->
<!--<li>-->
@ -63,16 +84,17 @@
<!--</li>-->
<!--{{ end }}-->
{{ with .Site.Social.email }}
<li>
<a href="mailto:{{ . }}" title="Email of {{ . }}">
Contact via email
</a>
</li>
{{ end }}
</ul>
{{ end }}
<!--{{ with .Site.Social.email }}-->
<!--<li>-->
<!--<a href="mailto:{{ . }}" title="Email of {{ . }}">-->
<!--Contact via email-->
<!--</a>-->
<!--</li>-->
<!--{{ end }}-->
<!--</ul>-->
<!--{{ end }}-->
</div>
</div>
</div>
</nav>

View File

@ -25,6 +25,6 @@
# dns cloudflare
#}
}
laradock.demo {
laradock.demo:80 {
root /var/www/public
}

View File

@ -1,22 +1,17 @@
FROM alpine:3.5
FROM golang
MAINTAINER Eric Pfeiffer <computerfr33k@users.noreply.github.com>
MAINTAINER Huadong Zuo <admin@zuohuadong.cn>
ENV caddy_version=0.10.5
ARG plugins=http.git
ARG plugins="git"
LABEL caddy_version="$caddy_version" architecture="amd64"
## If you come frome china, please ues it.
RUN apk update \
&& apk upgrade \
&& apk add --no-cache openssh-client git tar curl
# RUN echo "172.217.6.127 golang.org" >> /etc/hosts
RUN curl --silent --show-error --fail --location \
--header "Accept: application/tar+gzip, application/x-gzip, application/octet-stream" -o - \
"https://caddyserver.com/download/linux/amd64?plugins=${plugins}" \
| tar --no-same-owner -C /usr/bin/ -xz caddy \
&& mv /usr/bin/caddy /usr/bin/caddy \
&& chmod 0755 /usr/bin/caddy
RUN go get github.com/abiosoft/caddyplug/caddyplug \
&& caddyplug install-caddy \
&& caddyplug install git
RUN caddy --version
EXPOSE 80 443 2015

View File

@ -18,6 +18,8 @@ services:
- INSTALL_XDEBUG=${WORKSPACE_INSTALL_XDEBUG}
- INSTALL_BLACKFIRE=${INSTALL_BLACKFIRE}
- INSTALL_SOAP=${WORKSPACE_INSTALL_SOAP}
- INSTALL_LDAP=${WORKSPACE_INSTALL_LDAP}
- INSTALL_IMAP=${WORKSPACE_INSTALL_IMAP}
- INSTALL_MONGO=${WORKSPACE_INSTALL_MONGO}
- INSTALL_PHPREDIS=${WORKSPACE_INSTALL_PHPREDIS}
- INSTALL_MSSQL=${WORKSPACE_INSTALL_MSSQL}
@ -39,8 +41,11 @@ services:
- INSTALL_IMAGE_OPTIMIZERS=${WORKSPACE_INSTALL_IMAGE_OPTIMIZERS}
- INSTALL_IMAGEMAGICK=${WORKSPACE_INSTALL_IMAGEMAGICK}
- INSTALL_TERRAFORM=${WORKSPACE_INSTALL_TERRAFORM}
- INSTALL_DUSK_DEPS=${WORKSPACE_INSTALL_DUSK_DEPS}
- INSTALL_PG_CLIENT=${WORKSPACE_INSTALL_PG_CLIENT}
- PUID=${WORKSPACE_PUID}
- PGID=${WORKSPACE_PGID}
- CHROME_DRIVER_VERSION=${WORKSPACE_CHROME_DRIVER_VERSION}
- NODE_VERSION=${WORKSPACE_NODE_VERSION}
- YARN_VERSION=${WORKSPACE_YARN_VERSION}
- TZ=${WORKSPACE_TIMEZONE}
@ -77,6 +82,8 @@ services:
- INSTALL_EXIF=${PHP_FPM_INSTALL_EXIF}
- INSTALL_AEROSPIKE=${PHP_FPM_INSTALL_AEROSPIKE}
- INSTALL_MYSQLI=${PHP_FPM_INSTALL_MYSQLI}
- INSTALL_PGSQL=${PHP_FPM_INSTALL_PGSQL}
- INSTALL_PG_CLIENT=${PHP_FPM_INSTALL_PG_CLIENT}
- INSTALL_TOKENIZER=${PHP_FPM_INSTALL_TOKENIZER}
- INSTALL_INTL=${PHP_FPM_INSTALL_INTL}
- INSTALL_GHOSTSCRIPT=${PHP_FPM_INSTALL_GHOSTSCRIPT}
@ -106,6 +113,8 @@ services:
build:
context: ./php-worker
dockerfile: "Dockerfile-${PHP_VERSION}"
args:
- INSTALL_PGSQL=${PHP_WORKER_INSTALL_PGSQL}
volumes_from:
- applications
depends_on:
@ -547,6 +556,17 @@ services:
- frontend
- backend
### MailDev Container #######################################
maildev:
build: ./maildev
ports:
- "${MAILDEV_HTTP_PORT}:80"
- "${MAILDEV_SMTP_PORT}:25"
networks:
- frontend
- backend
### Selenium Container ########################################
selenium:
@ -625,6 +645,18 @@ services:
- frontend
- backend
### Grafana Container #########################################
grafana:
build:
context: ./grafana
volumes:
- ${DATA_SAVE_PATH}/grafana:/var/lib/grafana
ports:
- "${GRAFANA_PORT}:3000"
networks:
- backend
### Laravel Echo Server #######################################
laravel-echo-server:
build:

View File

@ -30,7 +30,9 @@ PHP_INTERPRETER=php-fpm
### WORKSPACE ##########################################################################################################
WORKSPACE_INSTALL_XDEBUG=false
WORKSPACE_INSTALL_LDAP=false
WORKSPACE_INSTALL_SOAP=false
WORKSPACE_INSTALL_IMAP=false
WORKSPACE_INSTALL_MONGO=false
WORKSPACE_INSTALL_PHPREDIS=false
WORKSPACE_INSTALL_MSSQL=false
@ -52,8 +54,11 @@ WORKSPACE_INSTALL_PYTHON=false
WORKSPACE_INSTALL_IMAGE_OPTIMIZERS=false
WORKSPACE_INSTALL_IMAGEMAGICK=false
WORKSPACE_INSTALL_TERRAFORM=false
WORKSPACE_INSTALL_DUSK_DEPS=false
WORKSPACE_INSTALL_PG_CLIENT=false
WORKSPACE_PUID=1000
WORKSPACE_PGID=1000
WORKSPACE_CHROME_DRIVER_VERSION=2.32
WORKSPACE_NODE_VERSION=stable
WORKSPACE_YARN_VERSION=latest
WORKSPACE_TIMEZONE=UTC
@ -73,6 +78,8 @@ PHP_FPM_INSTALL_OPCACHE=false
PHP_FPM_INSTALL_EXIF=false
PHP_FPM_INSTALL_AEROSPIKE=false
PHP_FPM_INSTALL_MYSQLI=false
PHP_FPM_INSTALL_PGSQL=false
PHP_FPM_INSTALL_POSTGRES=false
PHP_FPM_INSTALL_TOKENIZER=false
PHP_FPM_INSTALL_INTL=false
PHP_FPM_INSTALL_GHOSTSCRIPT=false
@ -80,6 +87,11 @@ PHP_FPM_INSTALL_LDAP=false
PHP_FPM_INSTALL_SWOOLE=false
PHP_FPM_INSTALL_IMAGE_OPTIMIZERS=false
PHP_FPM_INSTALL_IMAGEMAGICK=false
PHP_FPM_INSTALL_PG_CLIENT=false
### PHP_WORKER #########################################################################################################
PHP_WORKER_INSTALL_PGSQL=false
### NGINX ##############################################################################################################
@ -202,6 +214,11 @@ PMA_PASSWORD=secret
PMA_ROOT_PASSWORD=secret
PMA_PORT=8080
### MAILDEV ############################################################################################################
MAILDEV_HTTP_PORT=1080
MAILDEV_SMTP_PORT=25
### VARNISH ############################################################################################################
VARNISH_CONFIG=/etc/varnish/default.vcl
@ -233,6 +250,10 @@ JENKINS_HOST_HTTP_PORT=8090
JENKINS_HOST_SLAVE_AGENT_PORT=50000
JENKINS_HOME=./jenkins/jenkins_home
### GRAFANA ############################################################################################################
GRAFANA_PORT=3000
### BLACKFIRE ##########################################################################################################
# Create an account on blackfire.io. Don't enable blackfire and xDebug at the same time.
@ -301,4 +322,3 @@ PHP_IDE_CONFIG=serverName=laradock
# Fix for windows users to make sure the application path works.
COMPOSE_CONVERT_WINDOWS_PATHS=1

3
grafana/Dockerfile Normal file
View File

@ -0,0 +1,3 @@
FROM grafana/grafana:latest
EXPOSE 3000

View File

@ -25,8 +25,8 @@ VOLUME /var/jenkins_home
# or config file with your custom jenkins Docker image.
RUN mkdir -p /usr/share/jenkins/ref/init.groovy.d
ENV TINI_VERSION 0.13.2
ENV TINI_SHA afbf8de8a63ce8e4f18cb3f34dfdbbd354af68a1
ENV TINI_VERSION 0.16.1
ENV TINI_SHA d1cb5d71adc01d47e302ea439d70c79bd0864288
# Use tini as subreaper in Docker container to adopt zombie processes
RUN curl -fsSL https://github.com/krallin/tini/releases/download/v${TINI_VERSION}/tini-static-amd64 -o /bin/tini && chmod +x /bin/tini \
@ -36,10 +36,10 @@ COPY init.groovy /usr/share/jenkins/ref/init.groovy.d/tcp-slave-agent-port.groov
# jenkins version being bundled in this docker image
ARG JENKINS_VERSION
ENV JENKINS_VERSION ${JENKINS_VERSION:-2.32.3}
ENV JENKINS_VERSION ${JENKINS_VERSION:-2.73.2}
# jenkins.war checksum, download will be validated using it
ARG JENKINS_SHA=a25b9a314ca9e76f9673da7309e1882e32674223
ARG JENKINS_SHA=f6d1351beef34d980b32f8c463be505445f637e2fc62156fecd42891c53c97d3
# Can be used to customize where jenkins.war get downloaded from
ARG JENKINS_URL=https://repo.jenkins-ci.org/public/org/jenkins-ci/main/jenkins-war/${JENKINS_VERSION}/jenkins-war-${JENKINS_VERSION}.war
@ -47,7 +47,7 @@ ARG JENKINS_URL=https://repo.jenkins-ci.org/public/org/jenkins-ci/main/jenkins-w
# could use ADD but this one does not check Last-Modified header neither does it allow to control checksum
# see https://github.com/docker/docker/issues/8331
RUN curl -fsSL ${JENKINS_URL} -o /usr/share/jenkins/jenkins.war \
&& echo "${JENKINS_SHA} /usr/share/jenkins/jenkins.war" | sha1sum -c -
&& echo "${JENKINS_SHA} /usr/share/jenkins/jenkins.war" | sha256sum -c -
ENV JENKINS_UC https://updates.jenkins.io
RUN chown -R ${user} "$JENKINS_HOME" /usr/share/jenkins/ref
@ -71,7 +71,7 @@ RUN apt-get install -y curl && curl -sSL https://get.docker.com/ | sh
RUN usermod -aG docker jenkins
# Install Docker-Compose
RUN curl -L "https://github.com/docker/compose/releases/download/1.10.0/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
RUN curl -L "https://github.com/docker/compose/releases/download/1.16.1/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
RUN chmod +x /usr/local/bin/docker-compose

View File

@ -1,4 +1,4 @@
FROM node:argon
FROM node:alpine
# Create app directory
RUN mkdir -p /usr/src/app

5
maildev/Dockerfile Normal file
View File

@ -0,0 +1,5 @@
FROM djfarrelly/maildev
MAINTAINER Maxime Hélias <maximehelias16@gmail.com>
EXPOSE 80 25

View File

@ -50,6 +50,28 @@ RUN if [ ${INSTALL_SOAP} = true ]; then \
docker-php-ext-install soap \
;fi
#####################################
# pgsql
#####################################
ARG INSTALL_PGSQL=false
RUN if [ ${INSTALL_PGSQL} = true ]; then \
# Install the pgsql extension
apt-get update -yqq && \
docker-php-ext-install pgsql \
;fi
#####################################
# pgsql client
#####################################
ARG INSTALL_PG_CLIENT=false
RUN if [ ${INSTALL_PG_CLIENT} = true ]; then \
# Install the pgsql clint
apt-get update -yqq && \
apt-get install -y postgresql-client \
;fi
#####################################
# xDebug:
#####################################

View File

@ -50,6 +50,28 @@ RUN if [ ${INSTALL_SOAP} = true ]; then \
docker-php-ext-install soap \
;fi
#####################################
# pgsql
#####################################
ARG INSTALL_PGSQL=false
RUN if [ ${INSTALL_PGSQL} = true ]; then \
# Install the pgsql extension
apt-get update -yqq && \
docker-php-ext-install pgsql \
;fi
#####################################
# pgsql client
#####################################
ARG INSTALL_PG_CLIENT=false
RUN if [ ${INSTALL_PG_CLIENT} = true ]; then \
# Install the pgsql client
apt-get update -yqq && \
apt-get install -y postgresql-client \
;fi
#####################################
# xDebug:
#####################################
@ -173,11 +195,11 @@ ENV INSTALL_AEROSPIKE ${INSTALL_AEROSPIKE}
COPY ./aerospike.ini /usr/local/etc/php/conf.d/aerospike.ini
RUN if [ ${INSTALL_AEROSPIKE} = true ]; then \
# Install the php aerospike extension
curl -L -o /tmp/aerospike-client-php.tar.gz "https://github.com/aerospike/aerospike-client-php/archive/3.4.14.tar.gz" \
curl -L -o /tmp/aerospike-client-php.tar.gz "https://github.com/aerospike/aerospike-client-php/archive/master.tar.gz" \
&& mkdir -p aerospike-client-php \
&& tar -C aerospike-client-php -zxvf /tmp/aerospike-client-php.tar.gz --strip 1 \
&& ( \
cd aerospike-client-php/src/aerospike \
cd aerospike-client-php/src \
&& phpize \
&& ./build.sh \
&& make install \

View File

@ -50,6 +50,28 @@ RUN if [ ${INSTALL_SOAP} = true ]; then \
docker-php-ext-install soap \
;fi
#####################################
# pgsql
#####################################
ARG INSTALL_PGSQL=false
RUN if [ ${INSTALL_PGSQL} = true ]; then \
# Install the pgsql extension
apt-get update -yqq && \
docker-php-ext-install pgsql \
;fi
#####################################
# pgsql client
#####################################
ARG INSTALL_PG_CLIENT=false
RUN if [ ${INSTALL_PG_CLIENT} = true ]; then \
# Install the pgsql client
apt-get update -yqq && \
apt-get install -y postgresql-client \
;fi
#####################################
# xDebug:
#####################################
@ -61,7 +83,7 @@ RUN if [ ${INSTALL_XDEBUG} = true ]; then \
docker-php-ext-enable xdebug \
;fi
# Copy xdebug configration for remote debugging
# Copy xdebug configuration for remote debugging
COPY ./xdebug.ini /usr/local/etc/php/conf.d/xdebug.ini
#####################################
@ -179,11 +201,11 @@ RUN if [ ${INSTALL_AEROSPIKE} = true ]; then \
apt-get -y install sudo wget && \
# Install the php aerospike extension
curl -L -o /tmp/aerospike-client-php.tar.gz "https://github.com/aerospike/aerospike-client-php/archive/3.4.14.tar.gz" \
curl -L -o /tmp/aerospike-client-php.tar.gz "https://github.com/aerospike/aerospike-client-php/archive/master.tar.gz" \
&& mkdir -p aerospike-client-php \
&& tar -C aerospike-client-php -zxvf /tmp/aerospike-client-php.tar.gz --strip 1 \
&& ( \
cd aerospike-client-php/src/aerospike \
cd aerospike-client-php/src \
&& phpize \
&& ./build.sh \
&& make install \

View File

@ -1442,7 +1442,7 @@ session.save_handler = files
; where MODE is the octal representation of the mode. Note that this
; does not overwrite the process's umask.
; http://php.net/session.save-path
;session.save_path = "/tmp"
session.save_path = "/tmp"
; Whether to use strict session mode.
; Strict session mode does not accept uninitialized session ID and regenerate

View File

@ -1348,7 +1348,7 @@ session.save_handler = files
; where MODE is the octal representation of the mode. Note that this
; does not overwrite the process's umask.
; http://php.net/session.save-path
;session.save_path = "/tmp"
session.save_path = "/tmp"
; Whether to use strict session mode.
; Strict session mode does not accept uninitialized session ID and regenerate

View File

@ -1348,7 +1348,7 @@ session.save_handler = files
; where MODE is the octal representation of the mode. Note that this
; does not overwrite the process's umask.
; http://php.net/session.save-path
;session.save_path = "/tmp"
session.save_path = "/tmp"
; Whether to use strict session mode.
; Strict session mode does not accept uninitialized session ID and regenerate

View File

@ -24,6 +24,13 @@ RUN apk --update add wget \
RUN docker-php-ext-install mysqli mbstring pdo pdo_mysql mcrypt tokenizer xml
RUN pecl channel-update pecl.php.net && pecl install memcached && docker-php-ext-enable memcached
# Install PostgreSQL drivers:
ARG INSTALL_PGSQL=false
RUN if [ ${INSTALL_PGSQL} = true ]; then \
apk --update add postgresql-dev \
&& docker-php-ext-install pdo_pgsql \
;fi
RUN rm /var/cache/apk/* \
&& mkdir -p /var/www

View File

@ -24,6 +24,13 @@ RUN apk --update add wget \
RUN docker-php-ext-install mysqli mbstring pdo pdo_mysql mcrypt tokenizer xml
RUN pecl channel-update pecl.php.net && pecl install memcached && docker-php-ext-enable memcached
# Install PostgreSQL drivers:
ARG INSTALL_PGSQL=false
RUN if [ ${INSTALL_PGSQL} = true ]; then \
apk --update add postgresql-dev \
&& docker-php-ext-install pdo_pgsql \
;fi
RUN rm /var/cache/apk/* \
&& mkdir -p /var/www

View File

@ -1,7 +1,7 @@
FROM postgres:latest
FROM postgres:alpine
MAINTAINER Ben M <git@bmagg.com>
CMD ["postgres"]
EXPOSE 5432
EXPOSE 5432

View File

@ -12,7 +12,7 @@
# Note: Base Image name format {image-tag}-{php-version}
#
FROM laradock/workspace:1.8-56
FROM laradock/workspace:1.9-56
MAINTAINER Mahmoud Zalt <mahmoud@zalt.me>
@ -69,6 +69,21 @@ RUN if [ ${INSTALL_SOAP} = true ]; then \
apt-get -y install libxml2-dev php5.6-soap \
;fi
#####################################
# IMAP:
#####################################
USER root
ARG INSTALL_IMAP=false
ENV INSTALL_IMAP ${INSTALL_IMAP}
RUN if [ ${INSTALL_IMAP} = true ]; then \
# Install the PHP IMAP extension
add-apt-repository -y ppa:ondrej/php && \
apt-get update -yqq && \
apt-get -y install php5.6-imap \
;fi
#####################################
# Set Timezone
#####################################
@ -189,6 +204,7 @@ ARG INSTALL_MONGO=false
ENV INSTALL_MONGO ${INSTALL_MONGO}
RUN if [ ${INSTALL_MONGO} = true ]; then \
# Install the mongodb extension
pecl channel-update pecl.php.net && \
pecl install mongodb && \
echo "extension=mongodb.so" >> /etc/php/5.6/mods-available/mongodb.ini && \
ln -s /etc/php/5.6/mods-available/mongodb.ini /etc/php/5.6/cli/conf.d/30-mongodb.ini \
@ -524,6 +540,47 @@ RUN if [ ${INSTALL_TERRAFORM} = true ]; then \
&& rm terraform_0.10.6_linux_amd64.zip \
;fi
#####################################
# pgsql client
#####################################
USER root
ARG INSTALL_PG_CLIENT=false
ENV INSTALL_PG_CLIENT ${INSTALL_PG_CLIENT}
RUN if [ ${INSTALL_PG_CLIENT} = true ]; then \
# Install the pgsql clint
apt-get update -yqq && \
apt-get -y install postgresql-client \
;fi
#####################################
# Dusk Dependencies:
#####################################
USER root
ARG INSTALL_DUSK_DEPS=false
ENV INSTALL_DUSK_DEPS ${INSTALL_DUSK_DEPS}
RUN if [ ${INSTALL_DUSK_DEPS} = true ]; then \
# Install required packages
add-apt-repository ppa:ondrej/php \
&& apt-get update \
&& apt-get -y install zip wget unzip xdg-utils \
libxpm4 libxrender1 libgtk2.0-0 libnss3 libgconf-2-4 xvfb \
gtk2-engines-pixbuf xfonts-cyrillic xfonts-100dpi xfonts-75dpi \
xfonts-base xfonts-scalable x11-apps \
# Install Google Chrome
&& wget https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb \
&& dpkg -i --force-depends google-chrome-stable_current_amd64.deb \
&& apt-get -y -f install \
&& dpkg -i --force-depends google-chrome-stable_current_amd64.deb \
&& rm google-chrome-stable_current_amd64.deb \
# Install Chrome Driver
&& wget https://chromedriver.storage.googleapis.com/2.31/chromedriver_linux64.zip \
&& unzip chromedriver_linux64.zip \
&& mv chromedriver /usr/local/bin/ \
&& rm chromedriver_linux64.zip \
;fi
#
#--------------------------------------------------------------------------
# Final Touch

View File

@ -12,7 +12,7 @@
# Note: Base Image name format {image-tag}-{php-version}
#
FROM laradock/workspace:1.8-70
FROM laradock/workspace:1.9-70
MAINTAINER Mahmoud Zalt <mahmoud@zalt.me>
@ -69,6 +69,31 @@ RUN if [ ${INSTALL_SOAP} = true ]; then \
apt-get -y install libxml2-dev php7.0-soap \
;fi
#####################################
# LDAP:
#####################################
ARG INSTALL_LDAP=false
ENV INSTALL_LDAP ${INSTALL_LDAP}
RUN if [ ${INSTALL_LDAP} = true ]; then \
apt-get update -yqq && \
apt-get install -y libldap2-dev && \
apt-get install -y php7.0-ldap \
;fi
#####################################
# IMAP:
#####################################
ARG INSTALL_IMAP=false
ENV INSTALL_IMAP ${INSTALL_IMAP}
RUN if [ ${INSTALL_IMAP} = true ]; then \
apt-get update -yqq && \
apt-get install -y php7.0-imap \
;fi
#####################################
# Set Timezone
#####################################
@ -323,11 +348,11 @@ COPY ./aerospike.ini /etc/php/7.0/cli/conf.d/aerospike.ini
RUN if [ ${INSTALL_AEROSPIKE} = true ]; then \
# Install the php aerospike extension
curl -L -o /tmp/aerospike-client-php.tar.gz "https://github.com/aerospike/aerospike-client-php/archive/3.4.14.tar.gz" \
curl -L -o /tmp/aerospike-client-php.tar.gz "https://github.com/aerospike/aerospike-client-php/archive/master.tar.gz" \
&& mkdir -p aerospike-client-php \
&& tar -C aerospike-client-php -zxvf /tmp/aerospike-client-php.tar.gz --strip 1 \
&& ( \
cd aerospike-client-php/src/aerospike \
cd aerospike-client-php/src \
&& phpize \
&& ./build.sh \
&& make install \
@ -605,6 +630,47 @@ RUN if [ ${INSTALL_TERRAFORM} = true ]; then \
&& rm terraform_0.10.6_linux_amd64.zip \
;fi
#####################################
# pgsql client
#####################################
USER root
ARG INSTALL_PG_CLIENT=false
ENV INSTALL_PG_CLIENT ${INSTALL_PG_CLIENT}
RUN if [ ${INSTALL_PG_CLIENT} = true ]; then \
# Install the pgsql client
apt-get update -yqq && \
apt-get -y install postgresql-client \
;fi
#####################################
# Dusk Dependencies:
#####################################
USER root
ARG INSTALL_DUSK_DEPS=false
ENV INSTALL_DUSK_DEPS ${INSTALL_DUSK_DEPS}
RUN if [ ${INSTALL_DUSK_DEPS} = true ]; then \
# Install required packages
add-apt-repository ppa:ondrej/php \
&& apt-get update \
&& apt-get -y install zip wget unzip xdg-utils \
libxpm4 libxrender1 libgtk2.0-0 libnss3 libgconf-2-4 xvfb \
gtk2-engines-pixbuf xfonts-cyrillic xfonts-100dpi xfonts-75dpi \
xfonts-base xfonts-scalable x11-apps \
# Install Google Chrome
&& wget https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb \
&& dpkg -i --force-depends google-chrome-stable_current_amd64.deb \
&& apt-get -y -f install \
&& dpkg -i --force-depends google-chrome-stable_current_amd64.deb \
&& rm google-chrome-stable_current_amd64.deb \
# Install Chrome Driver
&& wget https://chromedriver.storage.googleapis.com/2.31/chromedriver_linux64.zip \
&& unzip chromedriver_linux64.zip \
&& mv chromedriver /usr/local/bin/ \
&& rm chromedriver_linux64.zip \
;fi
#
#--------------------------------------------------------------------------
# Final Touch

View File

@ -12,7 +12,7 @@
# Note: Base Image name format {image-tag}-{php-version}
#
FROM laradock/workspace:1.8-71
FROM laradock/workspace:1.9-71
MAINTAINER Mahmoud Zalt <mahmoud@zalt.me>
@ -52,7 +52,8 @@ ENV PGID ${PGID}
RUN groupadd -g ${PGID} laradock && \
useradd -u ${PUID} -g laradock -m laradock && \
apt-get update -yqq
apt-get update -yqq \
apt-get install -y python2.7
#####################################
# SOAP:
@ -69,6 +70,31 @@ RUN if [ ${INSTALL_SOAP} = true ]; then \
apt-get -y install libxml2-dev php7.1-soap \
;fi
#####################################
# LDAP:
#####################################
ARG INSTALL_LDAP=false
ENV INSTALL_LDAP ${INSTALL_LDAP}
RUN if [ ${INSTALL_LDAP} = true ]; then \
apt-get update -yqq && \
apt-get install -y libldap2-dev && \
apt-get install -y php7.1-ldap \
;fi
#####################################
# IMAP:
#####################################
ARG INSTALL_IMAP=false
ENV INSTALL_IMAP ${INSTALL_IMAP}
RUN if [ ${INSTALL_IMAP} = true ]; then \
apt-get update -yqq && \
apt-get install -y php7.1-imap \
;fi
#####################################
# Set Timezone
#####################################
@ -325,11 +351,11 @@ RUN if [ ${INSTALL_AEROSPIKE} = true ]; then \
apt-get -y install sudo wget && \
# Install the php aerospike extension
curl -L -o /tmp/aerospike-client-php.tar.gz "https://github.com/aerospike/aerospike-client-php/archive/3.4.14.tar.gz" \
curl -L -o /tmp/aerospike-client-php.tar.gz "https://github.com/aerospike/aerospike-client-php/archive/master.tar.gz" \
&& mkdir -p aerospike-client-php \
&& tar -C aerospike-client-php -zxvf /tmp/aerospike-client-php.tar.gz --strip 1 \
&& ( \
cd aerospike-client-php/src/aerospike \
cd aerospike-client-php/src \
&& phpize \
&& ./build.sh \
&& make install \
@ -610,6 +636,43 @@ RUN if [ ${INSTALL_TERRAFORM} = true ]; then \
&& mv terraform /usr/local/bin \
&& rm terraform_0.10.6_linux_amd64.zip \
;fi
#####################################
# pgsql client
#####################################
USER root
ARG INSTALL_PG_CLIENT=false
ENV INSTALL_PG_CLIENT ${INSTALL_PG_CLIENT}
RUN if [ ${INSTALL_PG_CLIENT} = true ]; then \
# Install the pgsql clint
apt-get update -yqq && \
apt-get -y install postgresql-client \
;fi
#####################################
# Dusk Dependencies:
#####################################
USER root
ARG CHROME_DRIVER_VERSION=stable
ENV CHROME_DRIVER_VERSION ${CHROME_DRIVER_VERSION}
ARG INSTALL_DUSK_DEPS=false
ENV INSTALL_DUSK_DEPS ${INSTALL_DUSK_DEPS}
RUN if [ ${INSTALL_DUSK_DEPS} = true ]; then \
add-apt-repository ppa:ondrej/php \
&& apt-get update \
&& apt-get -y install zip wget unzip xdg-utils \
libxpm4 libxrender1 libgtk2.0-0 libnss3 libgconf-2-4 xvfb \
gtk2-engines-pixbuf xfonts-cyrillic xfonts-100dpi xfonts-75dpi \
xfonts-base xfonts-scalable x11-apps \
&& wget https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb \
&& dpkg -i --force-depends google-chrome-stable_current_amd64.deb \
&& apt-get -y -f install \
&& dpkg -i --force-depends google-chrome-stable_current_amd64.deb \
&& rm google-chrome-stable_current_amd64.deb \
&& wget https://chromedriver.storage.googleapis.com/${CHROME_DRIVER_VERSION}/chromedriver_linux64.zip \
&& unzip chromedriver_linux64.zip \
&& mv chromedriver /usr/local/bin/ \
&& rm chromedriver_linux64.zip \
;fi
#
#--------------------------------------------------------------------------
@ -620,7 +683,8 @@ RUN if [ ${INSTALL_TERRAFORM} = true ]; then \
# Clean up
USER root
RUN apt-get clean && \
rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*
rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/* \
npm config set python /usr/bin/python2.7
# Set default work directory
WORKDIR /var/www

View File

@ -63,8 +63,13 @@ alias artisan="php artisan"
alias cdump="composer dump-autoload -o"
alias composer:dump="composer dump-autoload -o"
alias db:reset="php artisan migrate:reset && php artisan migrate --seed"
alias dusk="php artisan dusk"
alias fresh="php artisan migrate:fresh"
alias migrate="php artisan migrate"
alias refresh="php artisan migrate:refresh"
alias rollback="php artisan migrate:rollback"
alias seed="php artisan:seed"
alias serve="php artisan serve --quiet &"
alias phpunit="./vendor/bin/phpunit"
alias pu="phpunit"
@ -84,6 +89,9 @@ alias reload="source ~/.aliases && echo \"$COL_GREEN ==> Aliases Reloaded... $CO
alias run="npm run"
alias tree="xtree"
# Xvfb
alias xvfb="Xvfb -ac :0 -screen 0 1024x768x16 &"
# requires installation of 'https://www.npmjs.com/package/npms-cli'
alias npms="npms search"
# requires installation of 'https://www.npmjs.com/package/package-menu-cli'