Compare commits

..

23 Commits

Author SHA1 Message Date
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
18 changed files with 195 additions and 188 deletions

View File

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

101
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) - [Cron jobs](#CronJobs)
- [Access workspace via ssh](#Workspace-ssh) - [Access workspace via ssh](#Workspace-ssh)
- [MySQL access from host](#MySQL-access-from-host) - [MySQL access from host](#MySQL-access-from-host)
- [MySQL root access](#MySQL-root-access)
- [Use custom Domain](#Use-custom-Domain) - [Use custom Domain](#Use-custom-Domain)
- [Enable Global Composer Build Install](#Enable-Global-Composer-Build-Install) - [Enable Global Composer Build Install](#Enable-Global-Composer-Build-Install)
- [Install Prestissimo](#Install-Prestissimo) - [Install Prestissimo](#Install-Prestissimo)
@ -206,17 +207,22 @@ What's better than a **Demo Video**:
<a name="Installation"></a> <a name="Installation"></a>
## Installation ## 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 ```bash
git submodule add https://github.com/LaraDock/laradock.git 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 - project1
@ -225,9 +231,10 @@ Note: In this case the folder structure will be like this (recommended):
- laradock - 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 ```bash
git clone https://github.com/LaraDock/laradock.git git clone https://github.com/LaraDock/laradock.git
@ -237,11 +244,60 @@ Note: In this case the folder structure will be like this:
``` ```
- projects - projects
- laradock - laradock
- project1 - myProject
- project2
``` ```
**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> <a name="Usage"></a>
## Usage ## Usage
@ -305,7 +361,7 @@ Open your `.env` file and set the `DB_HOST` to `mysql`:
DB_HOST=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 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. 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 ```yaml
application: application:
build: ./application image: tianon/true
volumes: volumes:
- ../my-cool-app/:/var/www/laravel - ../my-cool-app/:/var/www
... ...
``` ```
4 - Go to that folder and start working.. 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. 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 # Custom cron
* * * * * root echo "Every Minute" > /var/log/cron.log 2>&1 * * * * * root echo "Every Minute" > /var/log/cron.log 2>&1
@ -1096,6 +1150,21 @@ ports:
- "3306:3306" - "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> <a name="Use-custom-Domain"></a>
### Use custom Domain (instead of the Docker IP) ### Use custom Domain (instead of the Docker IP)

View File

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

View File

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

View File

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

View File

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

View File

@ -2,6 +2,14 @@ version: '2'
services: services:
### Applications Code Container #############################
applications:
image: tianon/true
volumes:
- ../:/var/www
# - ../sample/:/var/www/sample
### Workspace Utilities Container ########################### ### Workspace Utilities Container ###########################
workspace: workspace:
@ -21,7 +29,7 @@ services:
- NODE_VERSION=stable - NODE_VERSION=stable
- TZ=UTC - TZ=UTC
volumes_from: volumes_from:
- volumes_source - applications
extra_hosts: extra_hosts:
# IMPORTANT: Replace with your Docker Host IP (will be appended to /etc/hosts) # IMPORTANT: Replace with your Docker Host IP (will be appended to /etc/hosts)
- "dockerhost:10.0.75.1" - "dockerhost:10.0.75.1"
@ -44,7 +52,7 @@ services:
- CODEIGNITER=false - CODEIGNITER=false
dockerfile: Dockerfile-70 dockerfile: Dockerfile-70
volumes_from: volumes_from:
- volumes_source - applications
expose: expose:
- "9000" - "9000"
links: links:
@ -64,7 +72,7 @@ services:
args: args:
- PHP_UPSTREAM=php-fpm - PHP_UPSTREAM=php-fpm
volumes_from: volumes_from:
- volumes_source - applications
volumes: volumes:
- ./logs/nginx/:/var/log/nginx - ./logs/nginx/:/var/log/nginx
ports: ports:
@ -73,7 +81,7 @@ services:
links: links:
- php-fpm - php-fpm
### Apache Server Container ################################## ### Apache Server Container #################################
apache2: apache2:
build: build:
@ -81,7 +89,7 @@ services:
args: args:
- PHP_SOCKET=php-fpm:9000 - PHP_SOCKET=php-fpm:9000
volumes_from: volumes_from:
- volumes_source - applications
volumes: volumes:
- ./logs/apache2:/var/log/apache2 - ./logs/apache2:/var/log/apache2
ports: ports:
@ -95,7 +103,7 @@ services:
hhvm: hhvm:
build: ./hhvm build: ./hhvm
volumes_from: volumes_from:
- volumes_source - applications
expose: expose:
- "9000" - "9000"
links: links:
@ -105,8 +113,8 @@ services:
mysql: mysql:
build: ./mysql build: ./mysql
volumes_from: volumes:
- volumes_data - mysql:/var/lib/mysql
ports: ports:
- "3306:3306" - "3306:3306"
environment: environment:
@ -119,8 +127,8 @@ services:
mariadb: mariadb:
build: ./mariadb build: ./mariadb
volumes_from: volumes:
- volumes_data - mysql:/var/lib/mysql
ports: ports:
- "3306:3306" - "3306:3306"
environment: environment:
@ -133,8 +141,8 @@ services:
postgres: postgres:
build: ./postgres build: ./postgres
volumes_from: volumes:
- volumes_data - postgres:/var/lib/postgresql/data
ports: ports:
- "5432:5432" - "5432:5432"
environment: environment:
@ -151,8 +159,8 @@ services:
- "1337:1337" - "1337:1337"
environment: environment:
- NEO4J_AUTH=homestead:secret - NEO4J_AUTH=homestead:secret
volumes_from: volumes:
- volumes_data - neo4j:/var/lib/neo4j/data
### MongoDB Container ####################################### ### MongoDB Container #######################################
@ -160,25 +168,26 @@ services:
build: ./mongo build: ./mongo
ports: ports:
- "27017:27017" - "27017:27017"
volumes_from: volumes:
- volumes_data - mongo:/data/db
### Redis Container ######################################### ### Redis Container #########################################
redis: redis:
build: ./redis build: ./redis
volumes_from: volumes:
- volumes_data - redis:/data
ports: ports:
- "6379:6379" - "6379:6379"
### Aerospike c Container ######################################### ### Aerospike c Container ###################################
aerospike: aerospike:
build: ./aerospike build: ./aerospike
volumes_from: volumes_from:
- workspace - workspace
- volumes_data volumes:
- aerospike:/opt/aerospike/data
ports: ports:
- "3000:3000" - "3000:3000"
- "3001:3001" - "3001:3001"
@ -190,8 +199,8 @@ services:
memcached: memcached:
build: ./memcached build: ./memcached
volumes_from: volumes:
- volumes_data - memcached:/var/lib/memcached
ports: ports:
- "11211:11211" - "11211:11211"
links: links:
@ -207,7 +216,7 @@ services:
links: links:
- php-fpm - php-fpm
### RabbitMQ Container #################################### ### RabbitMQ Container ######################################
rabbitmq: rabbitmq:
build: ./rabbitmq build: ./rabbitmq
@ -236,8 +245,9 @@ services:
caddy: caddy:
build: ./caddy build: ./caddy
volumes_from: volumes_from:
- volumes_source - applications
- volumes_data volumes:
- caddy:/root/.caddy
ports: ports:
- "80:80" - "80:80"
- "443:443" - "443:443"
@ -248,7 +258,7 @@ services:
links: links:
- php-fpm - php-fpm
### phpMyAdmin Container ################################## ### phpMyAdmin Container ####################################
phpmyadmin: phpmyadmin:
build: ./phpmyadmin build: ./phpmyadmin
@ -257,8 +267,8 @@ services:
MYSQL_USER: homestead MYSQL_USER: homestead
MYSQL_PASSWORD: secret MYSQL_PASSWORD: secret
MYSQL_ROOT_PASSWORD: root MYSQL_ROOT_PASSWORD: root
volumes_from: volumes:
- volumes_data - phpmyadmin
ports: ports:
- "8080:80" - "8080:80"
links: links:
@ -267,7 +277,7 @@ services:
# for mariadb container # for mariadb container
# - "mariadb:db" # - "mariadb:db"
### pgAdmin Container ################################## ### pgAdmin Container #######################################
pgadmin: pgadmin:
build: ./pgadmin build: ./pgadmin
@ -276,40 +286,45 @@ services:
links: links:
- postgres - postgres
### ElasticSearch Container ################################## ### ElasticSearch Container #################################
elasticsearch: elasticsearch:
build: ./elasticsearch build: ./elasticsearch
volumes_from: volumes:
- volumes_data - elasticsearch-data:/usr/share/elasticsearch/data
- elasticsearch-pkugins:/usr/share/elasticsearch/data
ports: ports:
- "9200:9200" - "9200:9200"
- "9300:9300" - "9300:9300"
links: links:
- php-fpm - php-fpm
### Laravel Application Code Container ###################### ### Volumes Setup ###########################################
volumes_source:
image: tianon/true
volumes: volumes:
- ../:/var/www/laravel mysql:
driver: "local"
### Databases Data Container ################################ postgres:
driver: "local"
volumes_data: memcached:
image: tianon/true driver: "local"
volumes: redis:
- ./data/mysql:/var/lib/mysql driver: "local"
- ./data/postgres:/var/lib/postgresql/data neo4j:
- ./data/memcached:/var/lib/memcached driver: "local"
- ./data/redis:/data mariadb:
- ./data/neo4j:/var/lib/neo4j/data driver: "local"
- ./data/mongo:/data/db mongo:
- ./data/aerospike:/opt/aerospike/data driver: "local"
- ./data/sessions:/sessions phpmyadmin:
- ./data/caddy:/root/.caddy driver: "local"
- ./data/elasticsearch/data:/usr/share/elasticsearch/data aerospike:
- ./data/elasticsearch/pkugins:/usr/share/elasticsearch/pkugins driver: "local"
caddy:
### Add more Containers below ############################### 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 \ && apt-get clean \
&& rm -rf /var/lib/apt/lists/* && rm -rf /var/lib/apt/lists/*
RUN mkdir -p /var/www/laravel RUN mkdir -p /var/www
ADD server.ini /etc/hhvm/server.ini ADD server.ini /etc/hhvm/server.ini
RUN usermod -u 1000 www-data RUN usermod -u 1000 www-data
WORKDIR /var/www/laravel WORKDIR /var/www
CMD ["/usr/bin/hhvm", "-m", "server", "-c", "/etc/hhvm/server.ini"] 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.header = true
hhvm.log.access[default][file] = /var/log/hhvm/access.log hhvm.log.access[default][file] = /var/log/hhvm/access.log
hhvm.log.access[default][format] = "%h %l %u %t \"%r\" %>s %b" 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 hhvm.repo.central.path = /var/run/hhvm/hhvm.hhbc
; Uncomment to log to files instead of STDOUT ; Uncomment to log to files instead of STDOUT

View File

@ -3,8 +3,8 @@ server {
listen 80 default_server; listen 80 default_server;
listen [::]:80 default_server ipv6only=on; listen [::]:80 default_server ipv6only=on;
server_name laravel; server_name laradock;
root /var/www/laravel/public; root /var/www/public;
index index.php index.html index.htm; index index.php index.html index.htm;
location / { 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;
listen [::]:80; listen [::]:80;
server_name site_a; server_name sample.dev;
root /var/www/site_a/public; root /var/www/sample/public;
index index.php index.html index.htm; index index.php index.html index.htm;
location / { 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 RUN usermod -u 1000 www-data
WORKDIR /var/www/laravel WORKDIR /var/www
CMD ["php-fpm"] CMD ["php-fpm"]

View File

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

View File

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

View File

@ -10,7 +10,7 @@
# https://hub.docker.com/r/laradock/workspace/tags/ # https://hub.docker.com/r/laradock/workspace/tags/
# #
FROM laradock/workspace:1.1 FROM laradock/workspace:1.2
MAINTAINER Mahmoud Zalt <mahmoud@zalt.me> MAINTAINER Mahmoud Zalt <mahmoud@zalt.me>
@ -91,7 +91,7 @@ RUN if [ ${INSTALL_XDEBUG} = true ]; then \
apt-get update && \ apt-get update && \
apt-get install -y --force-yes php7.0-xdebug && \ apt-get install -y --force-yes php7.0-xdebug && \
sed -i 's/^/;/g' /etc/php/7.0/cli/conf.d/20-xdebug.ini && \ 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 ;fi
# ADD for REMOTE debugging # ADD for REMOTE debugging
COPY ./xdebug.ini /etc/php/7.0/cli/conf.d/xdebug.ini COPY ./xdebug.ini /etc/php/7.0/cli/conf.d/xdebug.ini
@ -234,6 +234,16 @@ RUN if [ ${INSTALL_AEROSPIKE_EXTENSION} = false ]; then \
rm /etc/php/7.0/cli/conf.d/aerospike.ini \ rm /etc/php/7.0/cli/conf.d/aerospike.ini \
;fi ;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 # Final Touch
@ -246,4 +256,4 @@ RUN apt-get clean && \
rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/* rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*
# Set default work directory # 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