Compare commits

...

32 Commits

Author SHA1 Message Date
5e9ae56a7f Merge pull request #419 from laradock/yarn
Revert #418 and fix install yarn package management.
2016-11-10 09:32:19 -05:00
5d98e78dba Revert #418 and fix install yarn package management.
Signed-off-by: Bo-Yi Wu <appleboy.tw@gmail.com>
2016-11-10 10:23:49 +08:00
c5d1116333 Merge pull request #418 from moxar/yarn
Fix a bug that prevents yarn from installing #415
2016-11-09 15:17:42 -05:00
5594c53e03 Fix bug in PATH 2016-11-09 17:55:35 +01:00
44045f85e6 Fix a bug that prevents yarn from installing 2016-11-09 16:14:49 +01:00
fc31a2415c Merge pull request #414 from joaojoyce/postgis-support
Postgis Support
2016-11-08 09:45:31 -05:00
a42f62c626 Postgis 2016-11-08 13:17:23 +00:00
3e4a5edc64 Merge pull request #407 from michaeljhopkins/patch-2
Add solution to mysql connection issues
2016-11-05 18:52:53 -04:00
9289c1b6c0 Add solution to mysql connection issues
Adding in a more "docker conventional" solution to the mysql connection issues
2016-11-05 06:42:19 -06:00
3f157a3277 Merge pull request #403 from darthrevan13/patch-1
Fix for mariadb local path
2016-11-03 23:02:16 +08:00
f732bb283b update the workspace container version 2016-11-03 09:50:21 -04:00
ca4aeada08 add missing step to the docs 2016-11-03 09:50:10 -04:00
3d54d68aa1 Fix for mariadb local path
When running docker-compose with mariadb the following message will appear:

ERROR: for mariadb  Cannot create container for service mariadb: Invalid volume spec "mariadb": Invalid volume destination path: 'mariadb' mount path must be absolute.
ERROR: Encountered errors while bringing up the project.

This commit fixes the issue.
2016-11-03 15:45:59 +02:00
a0153810c6 remove laradock logo on zh document.
Signed-off-by: Bo-Yi Wu <appleboy.tw@gmail.com>
2016-11-02 13:43:45 +08:00
4fe15ad5cf update docs 2016-11-01 10:07:21 -04:00
146f8ea6f4 rename volumes_source to applications 2016-11-01 10:05:10 -04:00
9ab6d8fa15 remove volumes container 2016-11-01 10:03:47 -04:00
f6d9ac6853 Merge pull request #401 from dsampaolo/fix-phpunit-path-missing
fix #395 adds phpunit path to non-root user's .bashrc
2016-11-01 15:51:10 +08:00
470994fc23 fix #395 adds phpunit path to non-root user's .bashrc 2016-11-01 07:19:58 +01:00
1b05dfd1e2 replace var/www/laravel with var/www 2016-10-31 21:45:50 -04:00
03bba8d2de Merge pull request #400 from LaraDock/appleboy-patch-1
fix phpunit path for multiple project.
2016-10-31 21:32:33 -04:00
b6c7746a0d fix workdir path.
Signed-off-by: Bo-Yi Wu <appleboy.tw@gmail.com>
2016-11-01 09:23:40 +08:00
e7baf3cfc3 fix phpunit path 2016-11-01 09:00:19 +08:00
f630970151 remove ./databases:/docker-entrypoint-initdb.d until it works 2016-10-31 20:46:02 -04:00
3070eac7b7 Merge pull request #399 from LaraDock/multiple-projects
Multiple projects
2016-10-31 20:32:44 -04:00
66723c0278 update the doc to support multiple projects 2016-10-31 20:30:34 -04:00
dbee864d44 rename laravel.conf to default and add sample conf 2016-10-31 19:50:30 -04:00
739cc31f4c change app mapping directory from www/laravel to www
also add sample to show facilitate setup for multiple sites
2016-10-31 19:49:48 -04:00
28130c5907 delete site_a and site_b nginx config samples 2016-10-31 19:31:15 -04:00
658d4e7532 add root access section to mysql docs 2016-10-31 19:30:12 -04:00
5da4058613 delete the drupal sample nginx config file 2016-10-31 19:28:47 -04:00
2ed09f42ca change workspace and php-fpm work directories
making them compatible with multiple projects
2016-10-31 19:28:25 -04:00
19 changed files with 219 additions and 190 deletions

View File

@ -7,9 +7,7 @@
LaraDock能够帮你在**Docker**上快速搭建**Laravel**应用。
<br>
就像Laravel Homestead一样但是Docker替换了Vagrant。
>先在Docker上使用LaraDock然后再学习它们。
![](https://s31.postimg.org/nbettdki3/lara_dock_poster_new.jpg)
> 先在使用 LaraDock然后再学习它们。
<br>
## 目录
@ -471,13 +469,13 @@ composer create-project laravel/laravel my-cool-app "5.2.*"
系统默认LaraDock假定Laravel应用在LaraDock的父级目录中
By default LaraDock assumes the Laravel application is living in the parent directory of the laradock folder.
自新Laravel应用在 `my-cool-app` 目录中, 我们需要用 `../my-cool-app/:/var/www/laravel`替换 `../:/var/www/laravel` , 如下:
自新Laravel应用在 `my-cool-app` 目录中, 我们需要用 `../my-cool-app/:/var/www`替换 `../:/var/www` , 如下:
```yaml
application:
build: ./application
volumes:
- ../my-cool-app/:/var/www/laravel
- ../my-cool-app/:/var/www
```
4 - 进入目录下继续工作..

110
README.md
View File

@ -60,6 +60,7 @@ Laradock is configured to run Laravel Apps by default, and it can be modifyed to
- [Cron jobs](#CronJobs)
- [Access workspace via ssh](#Workspace-ssh)
- [MySQL access from host](#MySQL-access-from-host)
- [MySQL root access](#MySQL-root-access)
- [Use custom Domain](#Use-custom-Domain)
- [Enable Global Composer Build Install](#Enable-Global-Composer-Build-Install)
- [Install Prestissimo](#Install-Prestissimo)
@ -206,17 +207,22 @@ What's better than a **Demo Video**:
<a name="Installation"></a>
## Installation
Choose the setup the best suits your needs.
Clone the `LaraDock` repository:
#### A) Setup for Single Project:
*(In case you want a Docker environment for each project)*
**A)** If you already have a Laravel project, clone this repository on your `Laravel` root directory:
##### A.1) Setup environment in existing Project:
*(In case you already have a project, and you want to setup an environemnt to run it)*
1 - Clone this repository on your project root directory:
```bash
git submodule add https://github.com/LaraDock/laradock.git
```
>If you are not already using Git for your Laravel project, you can use `git clone` instead of `git submodule`.
>If you are not already using Git for your PHP project, you can use `git clone` instead of `git submodule`.
Note: In this case the folder structure will be like this (recommended):
Note: In this case the folder structure will be like this:
```
- project1
@ -225,9 +231,10 @@ Note: In this case the folder structure will be like this (recommended):
- laradock
```
<br>
##### A.2) Setup environment first then create project:
*(In case you don't have a project, and you want to create your project inside the Docker environment)*
**B)** If you don't have a Laravel project, and you want to install Laravel from Docker, clone this repo anywhere on your machine:
1 - Clone this repository anywhere on your machine:
```bash
git clone https://github.com/LaraDock/laradock.git
@ -237,11 +244,60 @@ Note: In this case the folder structure will be like this:
```
- projects
- laradock
- project1
- project2
- myProject
```
**Note:** if you are using this folder structure don't forget to edit the `docker-compose.yml` file to map to your Laravel directory once you have it (example: `- ../project1/:/var/www/laravel`). "You will need to stop and re-run your docker-compose command for the changes to take place".
2 - Edit the `docker-compose.yml` file to map to your project directory once you have it (example: `- ../myProject:/var/www`).
3 - Stop and re-run your docker-compose command for the changes to take place.
```
docker-compose stop && docker-compose up -d XXXX YYYY ZZZZ ....
```
#### B) Setup for Multiple Projects:
1 - Clone this repository anywhere on your machine:
```bash
git clone https://github.com/LaraDock/laradock.git
```
2 - Edit the `docker-compose.yml` file to map to your projects directories:
```
applications:
image: tianon/true
volumes:
- ../project1/:/var/www/project1
- ../project2/:/var/www/project2
```
3 - You can access all sites by visiting `http://localhost/project1/public` and `http://localhost/project2/public` but of course that's not very useful so let's setup nginx quickly.
4 - Go to `nginx/sites` and copy `sample.conf.example` to `project1.conf` then to `project2.conf`
5 - Open the `project1.conf` file and edit the `server_name` and the `root` as follow:
```
server_name project1.dev;
root /var/www/project1/public;
```
Do the same for each project `project2.conf`, `project3.conf`,...
6 - Add the domains to the **hosts** files.
```
127.0.0.1 project1.dev
```
7 - Create your project Databases. Right now you have to do it manually by entering your DB container, until we automate it soon.
<a name="Usage"></a>
## Usage
@ -267,7 +323,7 @@ If you are using **Docker Toolbox** (VM), do one of the following:
**Example:** Running NGINX and MySQL:
```bash
docker-compose up -d nginx mysql
docker-compose up -d nginx mysql
```
**Note**: The `workspace` and `php-fpm` will run automatically in most of the cases, so no need to specify them in the `up` command. If you couldn't find them running then you need specify them as follow: `docker-compose up -d nginx php-fpm mysql workspace`.
@ -305,7 +361,7 @@ Open your `.env` file and set the `DB_HOST` to `mysql`:
DB_HOST=mysql
```
*If you are using Laravel and you don't have it installed yet, see [How to Install Laravel in a Docker Container](#Install-Laravel).*
*If you want to use Laravel and you don't have it installed yet, see [How to Install Laravel in a Docker Container](#Install-Laravel).*
@ -371,8 +427,6 @@ docker-compose stop {container-name}
docker-compose down
```
*Note: Careful with this command as it will delete your Data Volume Container as well. (if you want to keep your Database data than you should stop each container by itself as follow):*
@ -744,13 +798,13 @@ For more about the Laravel installation click [here](https://laravel.com/docs/ma
By default LaraDock assumes the Laravel application is living in the parent directory of the laradock folder.
Since the new Laravel application is in the `my-cool-app` folder, we need to replace `../:/var/www/laravel` with `../my-cool-app/:/var/www/laravel`, as follow:
Since the new Laravel application is in the `my-cool-app` folder, we need to replace `../:/var/www` with `../my-cool-app/:/var/www`, as follow:
```yaml
application:
build: ./application
image: tianon/true
volumes:
- ../my-cool-app/:/var/www/laravel
- ../my-cool-app/:/var/www
...
```
4 - Go to that folder and start working..
@ -1064,7 +1118,7 @@ We also recommend [setting the timezone in Laravel](http://www.camroncade.com/ma
You can add your cron jobs to `workspace/crontab/root` after the `php artisan` line.
```
* * * * * php /var/www/laravel/artisan schedule:run >> /dev/null 2>&1
* * * * * php /var/www/artisan schedule:run >> /dev/null 2>&1
# Custom cron
* * * * * root echo "Every Minute" > /var/log/cron.log 2>&1
@ -1096,6 +1150,21 @@ ports:
- "3306:3306"
```
<a name="MySQL-root-access"></a>
### MySQL root access
The default username and password for the root mysql user are `root` and `root `.
1 - Enter the mysql contaier: `docker-compose exec mysql bash`.
2 - Enter mysql: `mysql -uroot -proot` for non root access use `mysql -uhomestead -psecret`.
3 - See all users: `SELECT User FROM mysql.user;`
4 - Run any commands `show databases`, `show tables`, `select * from.....`.
<a name="Use-custom-Domain"></a>
### Use custom Domain (instead of the Docker IP)
@ -1288,8 +1357,11 @@ Make sure the ports for the services that you are trying to run (80, 3306, etc.)
This error is sometimes happens because your Laravel application isn't running on the container localhost IP (Which is 127.0.0.1). Steps to fix it:
1. Check your running Laravel application IP by dumping `Request::ip()` variable using `dd(Request::ip())` anywhere on your application. The result is the IP of your Laravel container.
2. Change the `DB_HOST` variable on env with the IP that you received from previous step.
* Option A
1. Check your running Laravel application IP by dumping `Request::ip()` variable using `dd(Request::ip())` anywhere on your application. The result is the IP of your Laravel container.
2. Change the `DB_HOST` variable on env with the IP that you received from previous step.
* Option B
1. Change the `DB_HOST` value to the same name as the mysql docker container. The Laradock docker-compose file currently has this as `mysql`

View File

@ -58,10 +58,10 @@ docker-compose exec workspace bash
#### Install laravel Dependencies, Add .env , generate Key and give proper permission certain folder
```
$ root@0e77851d27d3:/var/www/laravel# composer install
$ root@0e77851d27d3:/var/www/laravel# cp .env.example .env
$ root@0e77851d27d3:/var/www/laravel# php artisan key:generate
$ root@0e77851d27d3:/var/www/laravel# exit
$ root@0e77851d27d3:/var/www# composer install
$ root@0e77851d27d3:/var/www# cp .env.example .env
$ root@0e77851d27d3:/var/www# php artisan key:generate
$ root@0e77851d27d3:/var/www# exit
$root@midascode:~/laravel/laradock# cd ..
$root@midascode:~/laravel# sudo chmod -R 777 storage bootstrap/cache
```
@ -141,13 +141,13 @@ Remove 0.0.0.0:80
```
0.0.0.0:80
root /var/www/laravel/public
root /var/www/public
```
and replace with your https://yourdomain.com
```
https://yourdomain.com
root /var/www/laravel/public
root /var/www/public
```
uncomment tls

View File

@ -6,11 +6,11 @@ ARG PHP_SOCKET=php-fpm:9000
ENV WEB_PHP_SOCKET=$PHP_SOCKET
ENV WEB_DOCUMENT_ROOT=/var/www/laravel/public
ENV WEB_DOCUMENT_ROOT=/var/www/public
EXPOSE 80 443
WORKDIR /var/www/laravel/public
WORKDIR /var/www/public
ENTRYPOINT ["/opt/docker/bin/entrypoint.sh"]

View File

@ -1,6 +1,6 @@
# Docs: https://caddyserver.com/docs/caddyfile
0.0.0.0:80
root /var/www/laravel/public
root /var/www/public
fastcgi / php-fpm:9000 php {
index index.php
}

View File

@ -19,6 +19,6 @@ RUN curl --silent --show-error --fail --location \
EXPOSE 80 443 2015
WORKDIR /var/www/laravel/public
WORKDIR /var/www/public
CMD ["/usr/bin/caddy", "-conf", "/etc/Caddyfile"]

View File

@ -2,6 +2,14 @@ version: '2'
services:
### Applications Code Container #############################
applications:
image: tianon/true
volumes:
- ../:/var/www
# - ../sample/:/var/www/sample
### Workspace Utilities Container ###########################
workspace:
@ -21,7 +29,7 @@ services:
- NODE_VERSION=stable
- TZ=UTC
volumes_from:
- volumes_source
- applications
extra_hosts:
# IMPORTANT: Replace with your Docker Host IP (will be appended to /etc/hosts)
- "dockerhost:10.0.75.1"
@ -44,7 +52,7 @@ services:
- CODEIGNITER=false
dockerfile: Dockerfile-70
volumes_from:
- volumes_source
- applications
expose:
- "9000"
links:
@ -64,7 +72,7 @@ services:
args:
- PHP_UPSTREAM=php-fpm
volumes_from:
- volumes_source
- applications
volumes:
- ./logs/nginx/:/var/log/nginx
ports:
@ -73,7 +81,7 @@ services:
links:
- php-fpm
### Apache Server Container ##################################
### Apache Server Container #################################
apache2:
build:
@ -81,7 +89,7 @@ services:
args:
- PHP_SOCKET=php-fpm:9000
volumes_from:
- volumes_source
- applications
volumes:
- ./logs/apache2:/var/log/apache2
ports:
@ -95,7 +103,7 @@ services:
hhvm:
build: ./hhvm
volumes_from:
- volumes_source
- applications
expose:
- "9000"
links:
@ -105,8 +113,8 @@ services:
mysql:
build: ./mysql
volumes_from:
- volumes_data
volumes:
- mysql:/var/lib/mysql
ports:
- "3306:3306"
environment:
@ -119,8 +127,8 @@ services:
mariadb:
build: ./mariadb
volumes_from:
- volumes_data
volumes:
- mysql:/var/lib/mysql
ports:
- "3306:3306"
environment:
@ -133,8 +141,21 @@ services:
postgres:
build: ./postgres
volumes_from:
- volumes_data
volumes:
- postgres:/var/lib/postgresql/data
ports:
- "5432:5432"
environment:
POSTGRES_DB: homestead
POSTGRES_USER: homestead
POSTGRES_PASSWORD: secret
### PostgreSQL PostGis Container ############################
postgres-postgis:
build: ./postgres-postgis
volumes:
- postgres:/var/lib/postgresql/data
ports:
- "5432:5432"
environment:
@ -151,8 +172,8 @@ services:
- "1337:1337"
environment:
- NEO4J_AUTH=homestead:secret
volumes_from:
- volumes_data
volumes:
- neo4j:/var/lib/neo4j/data
### MongoDB Container #######################################
@ -160,25 +181,26 @@ services:
build: ./mongo
ports:
- "27017:27017"
volumes_from:
- volumes_data
volumes:
- mongo:/data/db
### Redis Container #########################################
redis:
build: ./redis
volumes_from:
- volumes_data
volumes:
- redis:/data
ports:
- "6379:6379"
### Aerospike c Container #########################################
### Aerospike c Container ###################################
aerospike:
build: ./aerospike
volumes_from:
- workspace
- volumes_data
volumes:
- aerospike:/opt/aerospike/data
ports:
- "3000:3000"
- "3001:3001"
@ -190,8 +212,8 @@ services:
memcached:
build: ./memcached
volumes_from:
- volumes_data
volumes:
- memcached:/var/lib/memcached
ports:
- "11211:11211"
links:
@ -207,7 +229,7 @@ services:
links:
- php-fpm
### RabbitMQ Container ####################################
### RabbitMQ Container ######################################
rabbitmq:
build: ./rabbitmq
@ -236,8 +258,9 @@ services:
caddy:
build: ./caddy
volumes_from:
- volumes_source
- volumes_data
- applications
volumes:
- caddy:/root/.caddy
ports:
- "80:80"
- "443:443"
@ -248,7 +271,7 @@ services:
links:
- php-fpm
### phpMyAdmin Container ##################################
### phpMyAdmin Container ####################################
phpmyadmin:
build: ./phpmyadmin
@ -257,8 +280,8 @@ services:
MYSQL_USER: homestead
MYSQL_PASSWORD: secret
MYSQL_ROOT_PASSWORD: root
volumes_from:
- volumes_data
volumes:
- phpmyadmin
ports:
- "8080:80"
links:
@ -267,7 +290,7 @@ services:
# for mariadb container
# - "mariadb:db"
### pgAdmin Container ##################################
### pgAdmin Container #######################################
pgadmin:
build: ./pgadmin
@ -276,40 +299,45 @@ services:
links:
- postgres
### ElasticSearch Container ##################################
### ElasticSearch Container #################################
elasticsearch:
build: ./elasticsearch
volumes_from:
- volumes_data
volumes:
- elasticsearch-data:/usr/share/elasticsearch/data
- elasticsearch-pkugins:/usr/share/elasticsearch/data
ports:
- "9200:9200"
- "9300:9300"
links:
- php-fpm
### Laravel Application Code Container ######################
### Volumes Setup ###########################################
volumes_source:
image: tianon/true
volumes:
- ../:/var/www/laravel
### Databases Data Container ################################
volumes_data:
image: tianon/true
volumes:
- ./data/mysql:/var/lib/mysql
- ./data/postgres:/var/lib/postgresql/data
- ./data/memcached:/var/lib/memcached
- ./data/redis:/data
- ./data/neo4j:/var/lib/neo4j/data
- ./data/mongo:/data/db
- ./data/aerospike:/opt/aerospike/data
- ./data/sessions:/sessions
- ./data/caddy:/root/.caddy
- ./data/elasticsearch/data:/usr/share/elasticsearch/data
- ./data/elasticsearch/pkugins:/usr/share/elasticsearch/pkugins
### Add more Containers below ###############################
volumes:
mysql:
driver: "local"
postgres:
driver: "local"
memcached:
driver: "local"
redis:
driver: "local"
neo4j:
driver: "local"
mariadb:
driver: "local"
mongo:
driver: "local"
phpmyadmin:
driver: "local"
aerospike:
driver: "local"
caddy:
driver: "local"
elasticsearch-data:
driver: "local"
elasticsearch-pkugins:
driver: "local"
sessions: ## nothing is connected to this (- ./data/sessions:/sessions)
driver: "local"

View File

@ -10,13 +10,13 @@ RUN apt-get update -y \
&& apt-get clean \
&& rm -rf /var/lib/apt/lists/*
RUN mkdir -p /var/www/laravel
RUN mkdir -p /var/www
ADD server.ini /etc/hhvm/server.ini
RUN usermod -u 1000 www-data
WORKDIR /var/www/laravel
WORKDIR /var/www
CMD ["/usr/bin/hhvm", "-m", "server", "-c", "/etc/hhvm/server.ini"]

View File

@ -12,7 +12,7 @@ hhvm.log.level = Error
hhvm.log.header = true
hhvm.log.access[default][file] = /var/log/hhvm/access.log
hhvm.log.access[default][format] = "%h %l %u %t \"%r\" %>s %b"
hhvm.server.source_root=/var/www/laravel/public
hhvm.server.source_root=/var/www/public
hhvm.repo.central.path = /var/run/hhvm/hhvm.hhbc
; Uncomment to log to files instead of STDOUT

View File

@ -3,8 +3,8 @@ server {
listen 80 default_server;
listen [::]:80 default_server ipv6only=on;
server_name laravel;
root /var/www/laravel/public;
server_name laradock;
root /var/www/public;
index index.php index.html index.htm;
location / {

View File

@ -1,57 +0,0 @@
server {
listen 80;
listen [::]:80;
#domain name
server_name drupal8.dev;
#file document root. This has to match one of the volumes in docer-composer.yml
root /var/www/drupal8;
# This is the full path to your index file
index index.php index.html index.htm;
## serve imagecache files directly or redirect to drupal if they do not exist.
location ~* files/styles {
access_log off;
expires 30d;
try_files $uri @drupal;
}
## serve imagecache files directly or redirect to drupal if they do not exist.
location ~* ^.+.(xsl|xml)$ {
access_log off;
expires 1d;
try_files $uri @drupal;
}
## Images and static content is treated different
location ~* ^.+.(jpg|jpeg|gif|css|png|js|ico|xml)$ {
access_log off;
expires 30d;
}
location / {
index index.php;
# This is cool because no php is touched for static content
try_files $uri $uri/ @rewrite;
expires max;
}
location @drupal {
rewrite ^/(.*)$ /index.php?q=$1 last;
}
location @rewrite {
# Some modules enforce no slash (/) at the end of the URL
# Else this rewrite block wouldn&#39;t be needed (GlobalRedirect)
rewrite ^/(.*)$ /index.php?q=$1;
}
location ~ .php$ {
fastcgi_pass php-upstream;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}

View File

@ -3,8 +3,8 @@ server {
listen 80;
listen [::]:80;
server_name site_a;
root /var/www/site_a/public;
server_name sample.dev;
root /var/www/sample/public;
index index.php index.html index.htm;
location / {

View File

@ -1,28 +0,0 @@
server {
listen 80;
listen [::]:80;
server_name site_b;
root /var/www/site_b/public;
index index.php index.html index.htm;
location / {
try_files $uri $uri/ /index.php$is_args$args;
}
location ~ \.php$ {
try_files $uri /index.php =404;
fastcgi_pass php-upstream;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
location ~ /\.ht {
deny all;
}
}

View File

@ -142,7 +142,7 @@ RUN rm -r /var/lib/apt/lists/*
RUN usermod -u 1000 www-data
WORKDIR /var/www/laravel
WORKDIR /var/www
CMD ["php-fpm"]

View File

@ -153,7 +153,7 @@ RUN rm -r /var/lib/apt/lists/*
RUN usermod -u 1000 www-data
WORKDIR /var/www/laravel
WORKDIR /var/www
CMD ["php-fpm"]

View File

@ -0,0 +1,5 @@
FROM mdillon/postgis:latest
CMD ["postgres"]
EXPOSE 5432

View File

@ -45,12 +45,12 @@ services:
links:
- workspace
### Laravel Application Code Container ######################
### Application Code Container ######################
volumes_source:
image: tianon/true
volumes:
- ../:/var/www/laravel
- ../:/var/www
### Databases Data Container ################################

View File

@ -10,7 +10,7 @@
# https://hub.docker.com/r/laradock/workspace/tags/
#
FROM laradock/workspace:1.1
FROM laradock/workspace:1.2
MAINTAINER Mahmoud Zalt <mahmoud@zalt.me>
@ -91,7 +91,7 @@ RUN if [ ${INSTALL_XDEBUG} = true ]; then \
apt-get update && \
apt-get install -y --force-yes php7.0-xdebug && \
sed -i 's/^/;/g' /etc/php/7.0/cli/conf.d/20-xdebug.ini && \
echo "alias phpunit='php -dzend_extension=xdebug.so /var/www/laravel/vendor/bin/phpunit'" >> ~/.bashrc \
echo "alias phpunit='php -dzend_extension=xdebug.so /var/www/vendor/bin/phpunit'" >> ~/.bashrc \
;fi
# ADD for REMOTE debugging
COPY ./xdebug.ini /etc/php/7.0/cli/conf.d/xdebug.ini
@ -191,6 +191,7 @@ ARG INSTALL_YARN=false
ENV INSTALL_YARN ${INSTALL_YARN}
RUN if [ ${INSTALL_YARN} = true ]; then \
[ -s "$NVM_DIR/nvm.sh" ] && . "$NVM_DIR/nvm.sh" && \
curl -o- -L https://yarnpkg.com/install.sh | bash && \
echo "" >> ~/.bashrc && \
echo 'export PATH="$HOME/.yarn/bin:$PATH"' >> ~/.bashrc \
@ -234,6 +235,16 @@ RUN if [ ${INSTALL_AEROSPIKE_EXTENSION} = false ]; then \
rm /etc/php/7.0/cli/conf.d/aerospike.ini \
;fi
#####################################
# Non-root user : PHPUnit path
#####################################
# add ./vendor/bin to non-root user's bashrc (needed for phpunit)
USER laradock
RUN echo "" >> ~/.bashrc && \
echo 'export PATH="/var/www/vendor/bin:$PATH"' >> ~/.bashrc
#
#--------------------------------------------------------------------------
# Final Touch
@ -246,4 +257,4 @@ RUN apt-get clean && \
rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*
# Set default work directory
WORKDIR /var/www/laravel
WORKDIR /var/www

View File

@ -1 +1 @@
* * * * * php /var/www/laravel/artisan schedule:run >> /dev/null 2>&1
* * * * * php /var/www/artisan schedule:run >> /dev/null 2>&1