Compare commits
17 Commits
Author | SHA1 | Date | |
---|---|---|---|
fb049ef300 | |||
e75da747a9 | |||
dd48592d8b | |||
d57a0c3888 | |||
9a77c8e276 | |||
080cc2a88a | |||
b648f1ca58 | |||
cfc81fca64 | |||
928451ae88 | |||
95ef5e1e70 | |||
c324114b7a | |||
5ee1fdd71b | |||
7680e29bc5 | |||
b42f24c50d | |||
1c22c009e7 | |||
380c7bd1ec | |||
93504a714d |
1
.gitignore
vendored
1
.gitignore
vendored
@ -1,3 +1,4 @@
|
|||||||
|
.idea
|
||||||
/logs
|
/logs
|
||||||
/data
|
/data
|
||||||
.env
|
.env
|
225
README.md
225
README.md
@ -293,7 +293,7 @@ If you need a special support. Contact me, more details in the [Help & Questions
|
|||||||
|
|
||||||
|
|
||||||
<a name="Docker"></a>
|
<a name="Docker"></a>
|
||||||
### [Docker]
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@ -475,7 +475,6 @@ docker logs {container-name}
|
|||||||
|
|
||||||
<br>
|
<br>
|
||||||
<a name="Laravel"></a>
|
<a name="Laravel"></a>
|
||||||
### [Laravel]
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@ -704,7 +703,6 @@ More details about this [here](https://github.com/jenssegers/laravel-mongodb#ins
|
|||||||
|
|
||||||
<br>
|
<br>
|
||||||
<a name="PHP"></a>
|
<a name="PHP"></a>
|
||||||
### [PHP]
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@ -857,223 +855,15 @@ To controll the behavior of xDebug (in the `php-fpm` Container), you can run the
|
|||||||
|
|
||||||
<br>
|
<br>
|
||||||
<a name="Production"></a>
|
<a name="Production"></a>
|
||||||
### [Production]
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<br>
|
<br>
|
||||||
<a name="Digital-Ocean"></a>
|
<a name="Digital-Ocean"></a>
|
||||||
### Setup Laravel and Docker on Digital Ocean
|
### Setup Laravel and Docker on Digital Ocean
|
||||||
|
|
||||||
|
####[Full Giude Here](https://github.com/LaraDock/laradock/blob/master/_guides/digital_ocean.md)
|
||||||
#### Install Docker
|
|
||||||
```
|
|
||||||
Login Digital Ocean
|
|
||||||
Add Droplet
|
|
||||||
1 Click Install docker
|
|
||||||
Choose Droplet
|
|
||||||
reset ROOT password
|
|
||||||
check email
|
|
||||||
```
|
|
||||||
|
|
||||||
#### SSH to your Server
|
|
||||||
|
|
||||||
```
|
|
||||||
ssh root@ipaddress
|
|
||||||
```
|
|
||||||
you will be prompt of that password.
|
|
||||||
type the password you receive in your email
|
|
||||||
|
|
||||||
then it will ask to you to change a new password
|
|
||||||
just change it to the custom root password you want
|
|
||||||
|
|
||||||
After SSH
|
|
||||||
you can check that docker command is working by typing
|
|
||||||
|
|
||||||
```
|
|
||||||
$root@midascode:~# docker
|
|
||||||
```
|
|
||||||
|
|
||||||
#### Set Up Your Laravel Project
|
|
||||||
|
|
||||||
```
|
|
||||||
$root@midascode:~# apt-get install git
|
|
||||||
$root@midascode:~# git clone https://github.com/laravel/laravel
|
|
||||||
$root@midascode:~# cd laravel
|
|
||||||
$root@midascode:~/laravel# git checkout develop
|
|
||||||
$root@midascode:~/laravel/ git submodule add https://github.com/LaraDock/laradock.git
|
|
||||||
$root@midascode:~/laravel/ cd laradock
|
|
||||||
```
|
|
||||||
|
|
||||||
#### Install docker-compose command
|
|
||||||
|
|
||||||
```
|
|
||||||
$root@midascode:~/laravel/laradock# curl -L https://github.com/docker/compose/releases/download/1.8.0/run.sh > /usr/local/bin/docker-compose
|
|
||||||
$root@midascode:~/chmod +x /usr/local/bin/docker-compose
|
|
||||||
```
|
|
||||||
|
|
||||||
#### Create Your LaraDock Containers
|
|
||||||
|
|
||||||
```
|
|
||||||
$root@midascode:~/laravel/laradock# docker-compose up -d nginx mysql
|
|
||||||
```
|
|
||||||
|
|
||||||
#### Go to Your Workspace
|
|
||||||
|
|
||||||
```
|
|
||||||
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@midascode:~/laravel/laradock# cd ..
|
|
||||||
$root@midascode:~/laravel# sudo chmod -R 777 storage bootstrap/cache
|
|
||||||
```
|
|
||||||
|
|
||||||
you can then view your laravel site at your ipaddress
|
|
||||||
for example
|
|
||||||
```
|
|
||||||
192.168.1.1
|
|
||||||
```
|
|
||||||
|
|
||||||
You will see there Laravel Default Welcome Page
|
|
||||||
|
|
||||||
but if you need to view on your custom domain name
|
|
||||||
which you would.
|
|
||||||
|
|
||||||
#### Using Your Own Domain Name
|
|
||||||
login to your DNS provider
|
|
||||||
Godaddy, Namecheap what ever...
|
|
||||||
And Point the Custom Domain Name Server to
|
|
||||||
|
|
||||||
```
|
|
||||||
ns1.digitalocean.com
|
|
||||||
ns2.digitalocean.com
|
|
||||||
ns3.digitalocean.com
|
|
||||||
```
|
|
||||||
In Your Digital Ocean Account go to
|
|
||||||
```
|
|
||||||
https://cloud.digitalocean.com/networking/domains
|
|
||||||
```
|
|
||||||
add your domain name and choose the server ip you provision earlier
|
|
||||||
|
|
||||||
#### Serve Site With NGINX (HTTP ONLY)
|
|
||||||
Go back to command line
|
|
||||||
```
|
|
||||||
$root@midascode:~/laravel/laradock# cd nginx
|
|
||||||
$root@midascode:~/laravel/laradock/nginx# vim laravel.conf
|
|
||||||
```
|
|
||||||
remove default_server
|
|
||||||
```
|
|
||||||
|
|
||||||
listen 80 default_server;
|
|
||||||
listen [::]:80 default_server ipv6only=on;
|
|
||||||
|
|
||||||
```
|
|
||||||
and add server_name (your custom domain)
|
|
||||||
```
|
|
||||||
listen 80;
|
|
||||||
listen [::]:80 ipv6only=on;
|
|
||||||
server_name yourdomain.com;
|
|
||||||
```
|
|
||||||
|
|
||||||
#### Rebuild Your Nginx
|
|
||||||
```
|
|
||||||
$root@midascode:~/laravel/laradock/nginx# docker-compose down
|
|
||||||
$root@midascode:~/laravel/laradock/nginx# docker-compose build nginx
|
|
||||||
```
|
|
||||||
|
|
||||||
#### Re Run Your Containers MYSQL and NGINX
|
|
||||||
```
|
|
||||||
$root@midascode:~/laravel/laradock/nginx# docker-compose up -d nginx mysql
|
|
||||||
```
|
|
||||||
|
|
||||||
###### View Your Site with HTTP ONLY (http://yourdomain.com)
|
|
||||||
|
|
||||||
#### Run Site on SSL with Let's Encrypt Certificate
|
|
||||||
|
|
||||||
###### Note: You need to Use Caddy here Instead of Nginx
|
|
||||||
|
|
||||||
###### To go Caddy Folders and Edit CaddyFile
|
|
||||||
|
|
||||||
```
|
|
||||||
$root@midascode:~/laravel/laradock# cd caddy
|
|
||||||
$root@midascode:~/laravel/laradock/caddy# vim Caddyfile
|
|
||||||
```
|
|
||||||
|
|
||||||
Remove 0.0.0.0:80
|
|
||||||
|
|
||||||
```
|
|
||||||
0.0.0.0:80
|
|
||||||
root /var/www/laravel/public
|
|
||||||
```
|
|
||||||
and replace with your https://yourdomain.com
|
|
||||||
|
|
||||||
```
|
|
||||||
https://yourdomain.com
|
|
||||||
root /var/www/laravel/public
|
|
||||||
```
|
|
||||||
uncomment tls
|
|
||||||
|
|
||||||
```
|
|
||||||
#tls self-signed
|
|
||||||
```
|
|
||||||
and replace self-signed with your email address
|
|
||||||
|
|
||||||
```
|
|
||||||
tls midascodebreaker@gmai.com
|
|
||||||
```
|
|
||||||
This is needed Prior to Creating Let's Encypt
|
|
||||||
|
|
||||||
#### Run Your Caddy Container without the -d flag and Generate SSL with Let's Encrypt
|
|
||||||
|
|
||||||
```
|
|
||||||
$root@midascode:~/laravel/laradock/caddy# docker-compose up caddy
|
|
||||||
```
|
|
||||||
|
|
||||||
you will be prompt here to enter your email... you may enter it or not
|
|
||||||
```
|
|
||||||
Attaching to laradock_mysql_1, laradock_caddy_1
|
|
||||||
caddy_1 | Activating privacy features...
|
|
||||||
caddy_1 | Your sites will be served over HTTPS automatically using Let's Encrypt.
|
|
||||||
caddy_1 | By continuing, you agree to the Let's Encrypt Subscriber Agreement at:
|
|
||||||
caddy_1 | https://letsencrypt.org/documents/LE-SA-v1.0.1-July-27-2015.pdf
|
|
||||||
caddy_1 | Activating privacy features... done.
|
|
||||||
caddy_1 | https://yourdomain.com
|
|
||||||
caddy_1 | http://yourdomain.com
|
|
||||||
```
|
|
||||||
|
|
||||||
After it finish Press Ctrl + C to exit ...
|
|
||||||
|
|
||||||
#### Stop All Containers and ReRun Caddy and Other Containers on Background
|
|
||||||
|
|
||||||
```
|
|
||||||
$root@midascode:~/laravel/laradock/caddy# docker-compose down
|
|
||||||
$root@midascode:~/laravel/laradock/caddy# docker-compose up -d mysql caddy
|
|
||||||
```
|
|
||||||
View your Site in the Browser Securely Using HTTPS (https://yourdomain.com)
|
|
||||||
|
|
||||||
##### Note that Certificate will be Automatically Renew By Caddy
|
|
||||||
|
|
||||||
>References:
|
|
||||||
>
|
|
||||||
- [https://www.digitalocean.com/community/tutorials/how-to-install-and-use-docker-on-ubuntu-16-04](https://www.digitalocean.com/community/tutorials/how-to-install-and-use-docker-on-ubuntu-16-04)
|
|
||||||
- [https://www.digitalocean.com/products/one-click-apps/docker/](https://www.digitalocean.com/products/one-click-apps/docker/)
|
|
||||||
- [https://docs.docker.com/engine/installation/linux/ubuntulinux/](https://docs.docker.com/engine/installation/linux/ubuntulinux/)
|
|
||||||
- [https://docs.docker.com/compose/install/](https://docs.docker.com/compose/install/)
|
|
||||||
- [https://caddyserver.com/docs/automatic-https](https://caddyserver.com/docs/automatic-https)
|
|
||||||
- [https://caddyserver.com/docs/tls](https://caddyserver.com/docs/tls)
|
|
||||||
- [https://caddyserver.com/docs/caddyfile](https://caddyserver.com/docs/caddyfile)
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@ -1086,7 +876,9 @@ View your Site in the Browser Securely Using HTTPS (https://yourdomain.com)
|
|||||||
|
|
||||||
<br>
|
<br>
|
||||||
<a name="Misc"></a>
|
<a name="Misc"></a>
|
||||||
### [Misc]
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<br>
|
<br>
|
||||||
@ -1239,7 +1031,7 @@ Moving from Docker Toolbox (VirtualBox) to Docker Native (for Mac/Windows). Requ
|
|||||||
|
|
||||||
This little project was built by one man who has a full time job and many responsibilities, so if you like this project and you find that it needs a bug fix or support for new software or upgrade any container, or anything else.. Do not hesitate to contribute, you are more than welcome :)
|
This little project was built by one man who has a full time job and many responsibilities, so if you like this project and you find that it needs a bug fix or support for new software or upgrade any container, or anything else.. Do not hesitate to contribute, you are more than welcome :)
|
||||||
|
|
||||||
#### Read our [Contribution Guidelines](https://github.com/LaraDock/laradock/blob/master/CONTRIBUTING.md)
|
#### Read our [Contribution Guidelines](https://github.com/LaraDock/laradock/blob/master/_guides/contributing.md)
|
||||||
|
|
||||||
<a name="Help"></a>
|
<a name="Help"></a>
|
||||||
## Help & Questions
|
## Help & Questions
|
||||||
@ -1258,6 +1050,7 @@ For special help with Docker and/or Laravel, you can schedule a live call with t
|
|||||||
|
|
||||||
**Main Contributors:**
|
**Main Contributors:**
|
||||||
|
|
||||||
|
- [MidasCodeBreaker](https://github.com/midascodebreaker)
|
||||||
- [Larry Eitel (LarryEitel)](https://github.com/LarryEitel)
|
- [Larry Eitel (LarryEitel)](https://github.com/LarryEitel)
|
||||||
- [Suteepat (tianissimo)](https://github.com/tianissimo)
|
- [Suteepat (tianissimo)](https://github.com/tianissimo)
|
||||||
- [David (davidavz)](https://github.com/davidavz)
|
- [David (davidavz)](https://github.com/davidavz)
|
||||||
|
@ -1,5 +1,3 @@
|
|||||||
|
|
||||||
|
|
||||||
# Contributing to LaraDock
|
# Contributing to LaraDock
|
||||||
|
|
||||||
Your contribution is more than welcome. Let's keep LaraDock amazing.
|
Your contribution is more than welcome. Let's keep LaraDock amazing.
|
214
_guides/digital_ocean.md
Normal file
214
_guides/digital_ocean.md
Normal file
@ -0,0 +1,214 @@
|
|||||||
|
#### Install Docker
|
||||||
|
```
|
||||||
|
Login Digital Ocean
|
||||||
|
Add Droplet
|
||||||
|
1 Click Install docker
|
||||||
|
Choose Droplet
|
||||||
|
reset ROOT password
|
||||||
|
check email
|
||||||
|
```
|
||||||
|
|
||||||
|
#### SSH to your Server
|
||||||
|
|
||||||
|
```
|
||||||
|
ssh root@ipaddress
|
||||||
|
```
|
||||||
|
you will be prompt of that password.
|
||||||
|
type the password you receive in your email
|
||||||
|
|
||||||
|
then it will ask to you to change a new password
|
||||||
|
just change it to the custom root password you want
|
||||||
|
|
||||||
|
After SSH
|
||||||
|
you can check that docker command is working by typing
|
||||||
|
|
||||||
|
```
|
||||||
|
$root@midascode:~# docker
|
||||||
|
```
|
||||||
|
|
||||||
|
#### Set Up Your Laravel Project
|
||||||
|
|
||||||
|
```
|
||||||
|
$root@midascode:~# apt-get install git
|
||||||
|
$root@midascode:~# git clone https://github.com/laravel/laravel
|
||||||
|
$root@midascode:~# cd laravel
|
||||||
|
$root@midascode:~/laravel# git checkout develop
|
||||||
|
$root@midascode:~/laravel/ git submodule add https://github.com/LaraDock/laradock.git
|
||||||
|
$root@midascode:~/laravel/ cd laradock
|
||||||
|
```
|
||||||
|
|
||||||
|
#### Install docker-compose command
|
||||||
|
|
||||||
|
```
|
||||||
|
$root@midascode:~/laravel/laradock# curl -L https://github.com/docker/compose/releases/download/1.8.0/run.sh > /usr/local/bin/docker-compose
|
||||||
|
$root@midascode:~/chmod +x /usr/local/bin/docker-compose
|
||||||
|
```
|
||||||
|
|
||||||
|
#### Create Your LaraDock Containers
|
||||||
|
|
||||||
|
```
|
||||||
|
$root@midascode:~/laravel/laradock# docker-compose up -d nginx mysql
|
||||||
|
```
|
||||||
|
|
||||||
|
#### Go to Your Workspace
|
||||||
|
|
||||||
|
```
|
||||||
|
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@midascode:~/laravel/laradock# cd ..
|
||||||
|
$root@midascode:~/laravel# sudo chmod -R 777 storage bootstrap/cache
|
||||||
|
```
|
||||||
|
|
||||||
|
you can then view your laravel site at your ipaddress
|
||||||
|
for example
|
||||||
|
```
|
||||||
|
192.168.1.1
|
||||||
|
```
|
||||||
|
|
||||||
|
You will see there Laravel Default Welcome Page
|
||||||
|
|
||||||
|
but if you need to view on your custom domain name
|
||||||
|
which you would.
|
||||||
|
|
||||||
|
#### Using Your Own Domain Name
|
||||||
|
login to your DNS provider
|
||||||
|
Godaddy, Namecheap what ever...
|
||||||
|
And Point the Custom Domain Name Server to
|
||||||
|
|
||||||
|
```
|
||||||
|
ns1.digitalocean.com
|
||||||
|
ns2.digitalocean.com
|
||||||
|
ns3.digitalocean.com
|
||||||
|
```
|
||||||
|
In Your Digital Ocean Account go to
|
||||||
|
```
|
||||||
|
https://cloud.digitalocean.com/networking/domains
|
||||||
|
```
|
||||||
|
add your domain name and choose the server ip you provision earlier
|
||||||
|
|
||||||
|
#### Serve Site With NGINX (HTTP ONLY)
|
||||||
|
Go back to command line
|
||||||
|
```
|
||||||
|
$root@midascode:~/laravel/laradock# cd nginx
|
||||||
|
$root@midascode:~/laravel/laradock/nginx# vim laravel.conf
|
||||||
|
```
|
||||||
|
remove default_server
|
||||||
|
```
|
||||||
|
|
||||||
|
listen 80 default_server;
|
||||||
|
listen [::]:80 default_server ipv6only=on;
|
||||||
|
|
||||||
|
```
|
||||||
|
and add server_name (your custom domain)
|
||||||
|
```
|
||||||
|
listen 80;
|
||||||
|
listen [::]:80 ipv6only=on;
|
||||||
|
server_name yourdomain.com;
|
||||||
|
```
|
||||||
|
|
||||||
|
#### Rebuild Your Nginx
|
||||||
|
```
|
||||||
|
$root@midascode:~/laravel/laradock/nginx# docker-compose down
|
||||||
|
$root@midascode:~/laravel/laradock/nginx# docker-compose build nginx
|
||||||
|
```
|
||||||
|
|
||||||
|
#### Re Run Your Containers MYSQL and NGINX
|
||||||
|
```
|
||||||
|
$root@midascode:~/laravel/laradock/nginx# docker-compose up -d nginx mysql
|
||||||
|
```
|
||||||
|
|
||||||
|
###### View Your Site with HTTP ONLY (http://yourdomain.com)
|
||||||
|
|
||||||
|
#### Run Site on SSL with Let's Encrypt Certificate
|
||||||
|
|
||||||
|
###### Note: You need to Use Caddy here Instead of Nginx
|
||||||
|
|
||||||
|
###### To go Caddy Folders and Edit CaddyFile
|
||||||
|
|
||||||
|
```
|
||||||
|
$root@midascode:~/laravel/laradock# cd caddy
|
||||||
|
$root@midascode:~/laravel/laradock/caddy# vim Caddyfile
|
||||||
|
```
|
||||||
|
|
||||||
|
Remove 0.0.0.0:80
|
||||||
|
|
||||||
|
```
|
||||||
|
0.0.0.0:80
|
||||||
|
root /var/www/laravel/public
|
||||||
|
```
|
||||||
|
and replace with your https://yourdomain.com
|
||||||
|
|
||||||
|
```
|
||||||
|
https://yourdomain.com
|
||||||
|
root /var/www/laravel/public
|
||||||
|
```
|
||||||
|
uncomment tls
|
||||||
|
|
||||||
|
```
|
||||||
|
#tls self-signed
|
||||||
|
```
|
||||||
|
and replace self-signed with your email address
|
||||||
|
|
||||||
|
```
|
||||||
|
tls midascodebreaker@gmai.com
|
||||||
|
```
|
||||||
|
This is needed Prior to Creating Let's Encypt
|
||||||
|
|
||||||
|
#### Run Your Caddy Container without the -d flag and Generate SSL with Let's Encrypt
|
||||||
|
|
||||||
|
```
|
||||||
|
$root@midascode:~/laravel/laradock/caddy# docker-compose up caddy
|
||||||
|
```
|
||||||
|
|
||||||
|
you will be prompt here to enter your email... you may enter it or not
|
||||||
|
```
|
||||||
|
Attaching to laradock_mysql_1, laradock_caddy_1
|
||||||
|
caddy_1 | Activating privacy features...
|
||||||
|
caddy_1 | Your sites will be served over HTTPS automatically using Let's Encrypt.
|
||||||
|
caddy_1 | By continuing, you agree to the Let's Encrypt Subscriber Agreement at:
|
||||||
|
caddy_1 | https://letsencrypt.org/documents/LE-SA-v1.0.1-July-27-2015.pdf
|
||||||
|
caddy_1 | Activating privacy features... done.
|
||||||
|
caddy_1 | https://yourdomain.com
|
||||||
|
caddy_1 | http://yourdomain.com
|
||||||
|
```
|
||||||
|
|
||||||
|
After it finish Press Ctrl + C to exit ...
|
||||||
|
|
||||||
|
#### Stop All Containers and ReRun Caddy and Other Containers on Background
|
||||||
|
|
||||||
|
```
|
||||||
|
$root@midascode:~/laravel/laradock/caddy# docker-compose down
|
||||||
|
$root@midascode:~/laravel/laradock/caddy# docker-compose up -d mysql caddy
|
||||||
|
```
|
||||||
|
View your Site in the Browser Securely Using HTTPS (https://yourdomain.com)
|
||||||
|
|
||||||
|
##### Note that Certificate will be Automatically Renew By Caddy
|
||||||
|
|
||||||
|
>References:
|
||||||
|
>
|
||||||
|
- [https://www.digitalocean.com/community/tutorials/how-to-install-and-use-docker-on-ubuntu-16-04](https://www.digitalocean.com/community/tutorials/how-to-install-and-use-docker-on-ubuntu-16-04)
|
||||||
|
- [https://www.digitalocean.com/products/one-click-apps/docker/](https://www.digitalocean.com/products/one-click-apps/docker/)
|
||||||
|
- [https://docs.docker.com/engine/installation/linux/ubuntulinux/](https://docs.docker.com/engine/installation/linux/ubuntulinux/)
|
||||||
|
- [https://docs.docker.com/compose/install/](https://docs.docker.com/compose/install/)
|
||||||
|
- [https://caddyserver.com/docs/automatic-https](https://caddyserver.com/docs/automatic-https)
|
||||||
|
- [https://caddyserver.com/docs/tls](https://caddyserver.com/docs/tls)
|
||||||
|
- [https://caddyserver.com/docs/caddyfile](https://caddyserver.com/docs/caddyfile)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -8,18 +8,17 @@ services:
|
|||||||
build:
|
build:
|
||||||
context: ./workspace
|
context: ./workspace
|
||||||
args:
|
args:
|
||||||
- INSTALL_MONGO=false
|
|
||||||
- INSTALL_XDEBUG=false
|
- INSTALL_XDEBUG=false
|
||||||
|
- INSTALL_MONGO=false
|
||||||
- INSTALL_NODE=false
|
- INSTALL_NODE=false
|
||||||
|
- INSTALL_DRUSH=false
|
||||||
- COMPOSER_GLOBAL_INSTALL=false
|
- COMPOSER_GLOBAL_INSTALL=false
|
||||||
- PUID=1000
|
- PUID=1000
|
||||||
- PGID=1000
|
- PGID=1000
|
||||||
volumes_from:
|
volumes_from:
|
||||||
- volumes_source
|
- volumes_source
|
||||||
extra_hosts:
|
extra_hosts:
|
||||||
# IMPORTANT: Replace with your Docker Host IP
|
# IMPORTANT: Replace with your Docker Host IP (will be appended to /etc/hosts)
|
||||||
# this will be appended to /etc/hosts
|
|
||||||
# Note that this IP can perhaps be better injected via .env
|
|
||||||
- "dockerhost:10.0.75.1"
|
- "dockerhost:10.0.75.1"
|
||||||
tty: true
|
tty: true
|
||||||
|
|
||||||
@ -29,10 +28,11 @@ services:
|
|||||||
build:
|
build:
|
||||||
context: ./php-fpm
|
context: ./php-fpm
|
||||||
args:
|
args:
|
||||||
- INSTALL_MONGO=false
|
|
||||||
- INSTALL_XDEBUG=false
|
- INSTALL_XDEBUG=false
|
||||||
|
- INSTALL_MONGO=false
|
||||||
- INSTALL_ZIP_ARCHIVE=false
|
- INSTALL_ZIP_ARCHIVE=false
|
||||||
- INSTALL_MEMCACHED=false
|
- INSTALL_MEMCACHED=false
|
||||||
|
- INSTALL_OPCACHE=false
|
||||||
dockerfile: Dockerfile-70
|
dockerfile: Dockerfile-70
|
||||||
volumes_from:
|
volumes_from:
|
||||||
- volumes_source
|
- volumes_source
|
||||||
@ -41,15 +41,10 @@ services:
|
|||||||
links:
|
links:
|
||||||
- workspace
|
- workspace
|
||||||
extra_hosts:
|
extra_hosts:
|
||||||
# IMPORTANT: Replace with your Docker Host IP
|
# IMPORTANT: Replace with your Docker Host IP (will be appended to /etc/hosts)
|
||||||
# this will be appended to /etc/hosts
|
|
||||||
# Note that this IP can perhaps be better injected via .env
|
|
||||||
- "dockerhost:10.0.75.1"
|
- "dockerhost:10.0.75.1"
|
||||||
environment:
|
environment:
|
||||||
# IMPORTANT: You must have a Remote Interpreter entry matching this name
|
# IMPORTANT: Set the Remote Interpreter entry matching name to `laravel`
|
||||||
# In settings, search for interpreter...
|
|
||||||
# PHP > Languages & Frameworks > PHP > Interpreter > click on [...]
|
|
||||||
# Need to have a Remote Interpreter named 'laravel'
|
|
||||||
- PHP_IDE_CONFIG="serverName=laravel"
|
- PHP_IDE_CONFIG="serverName=laravel"
|
||||||
|
|
||||||
### Nginx Server Container ##################################
|
### Nginx Server Container ##################################
|
||||||
@ -219,6 +214,9 @@ services:
|
|||||||
build: ./volumes/application
|
build: ./volumes/application
|
||||||
volumes:
|
volumes:
|
||||||
- ../:/var/www/laravel
|
- ../:/var/www/laravel
|
||||||
|
# Demonstration of how to mount multiple sites
|
||||||
|
# - ../../site_a/:/var/www/site_a
|
||||||
|
# - ../../site_b/:/var/www/site_b
|
||||||
|
|
||||||
### Databases Data Container ################################
|
### Databases Data Container ################################
|
||||||
|
|
||||||
|
@ -3,7 +3,7 @@ FROM nginx:alpine
|
|||||||
MAINTAINER Mahmoud Zalt <mahmoud@zalt.me>
|
MAINTAINER Mahmoud Zalt <mahmoud@zalt.me>
|
||||||
|
|
||||||
ADD nginx.conf /etc/nginx/
|
ADD nginx.conf /etc/nginx/
|
||||||
ADD laravel.conf /etc/nginx/conf.d/laravel.conf
|
COPY sites/*.conf /etc/nginx/sites-available/
|
||||||
|
|
||||||
ARG PHP_UPSTREAM=php-fpm
|
ARG PHP_UPSTREAM=php-fpm
|
||||||
|
|
||||||
|
@ -24,5 +24,6 @@ http {
|
|||||||
gzip on;
|
gzip on;
|
||||||
gzip_disable "msie6";
|
gzip_disable "msie6";
|
||||||
include /etc/nginx/conf.d/*.conf;
|
include /etc/nginx/conf.d/*.conf;
|
||||||
|
include /etc/nginx/sites-available/*;
|
||||||
open_file_cache max=100;
|
open_file_cache max=100;
|
||||||
}
|
}
|
||||||
|
57
nginx/sites/framework-examples/drupal_8.conf
Normal file
57
nginx/sites/framework-examples/drupal_8.conf
Normal file
@ -0,0 +1,57 @@
|
|||||||
|
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'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;
|
||||||
|
}
|
||||||
|
}
|
@ -1,7 +1,9 @@
|
|||||||
server {
|
server {
|
||||||
|
|
||||||
listen 80 default_server;
|
listen 80 default_server;
|
||||||
listen [::]:80 default_server ipv6only=on;
|
listen [::]:80 default_server ipv6only=on;
|
||||||
|
|
||||||
|
server_name laravel;
|
||||||
root /var/www/laravel/public;
|
root /var/www/laravel/public;
|
||||||
index index.php index.html index.htm;
|
index index.php index.html index.htm;
|
||||||
|
|
28
nginx/sites/site_a.conf
Normal file
28
nginx/sites/site_a.conf
Normal file
@ -0,0 +1,28 @@
|
|||||||
|
server {
|
||||||
|
|
||||||
|
listen 80;
|
||||||
|
listen [::]:80;
|
||||||
|
|
||||||
|
server_name site_a;
|
||||||
|
root /var/www/site_a/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;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
28
nginx/sites/site_b.conf
Normal file
28
nginx/sites/site_b.conf
Normal file
@ -0,0 +1,28 @@
|
|||||||
|
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;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -32,11 +32,8 @@ MAINTAINER Mahmoud Zalt <mahmoud@zalt.me>
|
|||||||
#
|
#
|
||||||
# Optional Software's will only be installed if you set them to `true`
|
# Optional Software's will only be installed if you set them to `true`
|
||||||
# in the `docker-compose.yml` before the build.
|
# in the `docker-compose.yml` before the build.
|
||||||
#
|
# Example:
|
||||||
# - INSTALL_XDEBUG= false
|
# - INSTALL_ZIP_ARCHIVE=true
|
||||||
# - INSTALL_MONGO= false
|
|
||||||
# - INSTALL_ZIP_ARCHIVE= false
|
|
||||||
# - INSTALL_MEMCACHED= false
|
|
||||||
#
|
#
|
||||||
|
|
||||||
#####################################
|
#####################################
|
||||||
@ -50,8 +47,9 @@ RUN if [ ${INSTALL_XDEBUG} = true ]; then \
|
|||||||
pecl install xdebug && \
|
pecl install xdebug && \
|
||||||
docker-php-ext-enable xdebug \
|
docker-php-ext-enable xdebug \
|
||||||
;fi
|
;fi
|
||||||
# ADD for REMOTE debugging
|
|
||||||
COPY ./xdebug_settings_only.ini /usr/local/etc/php/conf.d/xdebug_settings_only.ini
|
# Copy xdebug configration for remote debugging
|
||||||
|
COPY ./xdebug.ini /usr/local/etc/php/conf.d/xdebug.ini
|
||||||
|
|
||||||
#####################################
|
#####################################
|
||||||
# MongoDB:
|
# MongoDB:
|
||||||
@ -89,6 +87,15 @@ RUN if [ ${INSTALL_MEMCACHED} = true ]; then \
|
|||||||
docker-php-ext-enable memcached \
|
docker-php-ext-enable memcached \
|
||||||
;fi
|
;fi
|
||||||
|
|
||||||
|
#####################################
|
||||||
|
# Opcache:
|
||||||
|
#####################################
|
||||||
|
ARG INSTALL_OPCACHE=true
|
||||||
|
ENV INSTALL_OPCACHE ${INSTALL_OPCACHE}
|
||||||
|
RUN if [ ${INSTALL_OPCACHE} = true ]; then \
|
||||||
|
docker-php-ext-install opcache && \
|
||||||
|
docker-php-ext-enable opcache \
|
||||||
|
;fi
|
||||||
|
|
||||||
#
|
#
|
||||||
#--------------------------------------------------------------------------
|
#--------------------------------------------------------------------------
|
||||||
|
@ -32,11 +32,8 @@ MAINTAINER Mahmoud Zalt <mahmoud@zalt.me>
|
|||||||
#
|
#
|
||||||
# Optional Software's will only be installed if you set them to `true`
|
# Optional Software's will only be installed if you set them to `true`
|
||||||
# in the `docker-compose.yml` before the build.
|
# in the `docker-compose.yml` before the build.
|
||||||
#
|
# Example:
|
||||||
# - INSTALL_XDEBUG= false
|
# - INSTALL_ZIP_ARCHIVE=true
|
||||||
# - INSTALL_MONGO= false
|
|
||||||
# - INSTALL_ZIP_ARCHIVE= false
|
|
||||||
# - INSTALL_MEMCACHED= false
|
|
||||||
#
|
#
|
||||||
|
|
||||||
#####################################
|
#####################################
|
||||||
@ -50,8 +47,9 @@ RUN if [ ${INSTALL_XDEBUG} = true ]; then \
|
|||||||
pecl install xdebug && \
|
pecl install xdebug && \
|
||||||
docker-php-ext-enable xdebug \
|
docker-php-ext-enable xdebug \
|
||||||
;fi
|
;fi
|
||||||
# ADD for REMOTE debugging
|
|
||||||
COPY ./xdebug_settings_only.ini /usr/local/etc/php/conf.d/xdebug_settings_only.ini
|
# Copy xdebug configration for remote debugging
|
||||||
|
COPY ./xdebug.ini /usr/local/etc/php/conf.d/xdebug.ini
|
||||||
|
|
||||||
#####################################
|
#####################################
|
||||||
# MongoDB:
|
# MongoDB:
|
||||||
@ -100,6 +98,17 @@ RUN if [ ${INSTALL_MEMCACHED} = true ]; then \
|
|||||||
&& docker-php-ext-enable memcached \
|
&& docker-php-ext-enable memcached \
|
||||||
;fi
|
;fi
|
||||||
|
|
||||||
|
#####################################
|
||||||
|
# Opcache:
|
||||||
|
#####################################
|
||||||
|
ARG INSTALL_OPCACHE=true
|
||||||
|
ENV INSTALL_OPCACHE ${INSTALL_OPCACHE}
|
||||||
|
RUN if [ ${INSTALL_OPCACHE} = true ]; then \
|
||||||
|
docker-php-ext-install opcache && \
|
||||||
|
docker-php-ext-enable opcache \
|
||||||
|
;fi
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
#
|
#
|
||||||
#--------------------------------------------------------------------------
|
#--------------------------------------------------------------------------
|
||||||
|
12
php-fpm/xdebug.ini
Normal file
12
php-fpm/xdebug.ini
Normal file
@ -0,0 +1,12 @@
|
|||||||
|
; NOTE: The actual debug.so extention is NOT SET HERE but rather (/usr/local/etc/php/conf.d/docker-php-ext-xdebug.ini)
|
||||||
|
|
||||||
|
xdebug.remote_autostart=1
|
||||||
|
xdebug.remote_enable=1
|
||||||
|
xdebug.remote_connect_back=1
|
||||||
|
xdebug.cli_color=1
|
||||||
|
xdebug.remote_handler=dbgp
|
||||||
|
xdebug.remote_mode=req
|
||||||
|
|
||||||
|
xdebug.remote_port=9000
|
||||||
|
xdebug.remote_host=dockerhost
|
||||||
|
xdebug.idekey=PHPSTORM
|
@ -1,21 +0,0 @@
|
|||||||
; NOTE: The actual debug.so extention is NOT SET HERE but rather
|
|
||||||
; /usr/local/etc/php/conf.d/docker-php-ext-xdebug.ini
|
|
||||||
; For example:
|
|
||||||
; zend_extension=xdebug.so
|
|
||||||
|
|
||||||
xdebug.remote_autostart=1
|
|
||||||
xdebug.remote_enable=1
|
|
||||||
xdebug.remote_handler=dbgp
|
|
||||||
xdebug.remote_mode=req
|
|
||||||
|
|
||||||
; In PHPStorm: Settings > Languages & Frameworks > PHP > Debug > Xdebug > Debug port
|
|
||||||
xdebug.remote_port=9000
|
|
||||||
|
|
||||||
; This is passed with by docker-compose / workspace / extra_hosts / - "dockerhost:10.0.75.1"
|
|
||||||
; It will set 10.0.75.1 dockerhost
|
|
||||||
; This will allow xdebug to connect to the host running PHPStorm.
|
|
||||||
xdebug.remote_host=dockerhost
|
|
||||||
|
|
||||||
; PHPStorm needs this
|
|
||||||
xdebug.idekey=PHPSTORM
|
|
||||||
|
|
@ -37,6 +37,7 @@ MAINTAINER Mahmoud Zalt <mahmoud@zalt.me>
|
|||||||
# - INSTALL_MONGO= false
|
# - INSTALL_MONGO= false
|
||||||
# - COMPOSER_GLOBAL_INSTALL= false
|
# - COMPOSER_GLOBAL_INSTALL= false
|
||||||
# - INSTALL_NODE= false
|
# - INSTALL_NODE= false
|
||||||
|
# - INSTALL_DRUSH= false
|
||||||
#
|
#
|
||||||
|
|
||||||
#####################################
|
#####################################
|
||||||
@ -53,7 +54,7 @@ RUN if [ ${INSTALL_XDEBUG} = true ]; then \
|
|||||||
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/laravel/vendor/bin/phpunit'" >> ~/.bashrc \
|
||||||
;fi
|
;fi
|
||||||
# ADD for REMOTE debugging
|
# ADD for REMOTE debugging
|
||||||
COPY ./xdebug_settings_only.ini /etc/php/7.0/cli/conf.d/xdebug_settings_only.ini
|
COPY ./xdebug.ini /etc/php/7.0/cli/conf.d/xdebug.ini
|
||||||
|
|
||||||
#####################################
|
#####################################
|
||||||
# MongoDB:
|
# MongoDB:
|
||||||
@ -97,6 +98,22 @@ RUN if [ ${COMPOSER_GLOBAL_INSTALL} = true ]; then \
|
|||||||
composer global install \
|
composer global install \
|
||||||
;fi
|
;fi
|
||||||
|
|
||||||
|
#####################################
|
||||||
|
# Drush:
|
||||||
|
#####################################
|
||||||
|
USER root
|
||||||
|
ENV DRUSH_VERSION 8.1.2
|
||||||
|
ARG INSTALL_DRUSH=true
|
||||||
|
ENV INSTALL_DRUSH ${INSTALL_DRUSH}
|
||||||
|
RUN if [ ${INSTALL_DRUSH} = true ]; then \
|
||||||
|
# Install Drush 8 with the phar file.
|
||||||
|
curl -fsSL -o /usr/local/bin/drush https://github.com/drush-ops/drush/releases/download/$DRUSH_VERSION/drush.phar | bash && \
|
||||||
|
chmod +x /usr/local/bin/drush && \
|
||||||
|
drush core-status \
|
||||||
|
;fi
|
||||||
|
|
||||||
|
USER laradock
|
||||||
|
|
||||||
#####################################
|
#####################################
|
||||||
# Node / NVM:
|
# Node / NVM:
|
||||||
#####################################
|
#####################################
|
||||||
|
12
workspace/xdebug.ini
Normal file
12
workspace/xdebug.ini
Normal file
@ -0,0 +1,12 @@
|
|||||||
|
; NOTE: The actual debug.so extention is NOT SET HERE but rather (/usr/local/etc/php/conf.d/docker-php-ext-xdebug.ini)
|
||||||
|
|
||||||
|
xdebug.remote_autostart=1
|
||||||
|
xdebug.remote_enable=1
|
||||||
|
xdebug.remote_connect_back=1
|
||||||
|
xdebug.cli_color=1
|
||||||
|
xdebug.remote_handler=dbgp
|
||||||
|
xdebug.remote_mode=req
|
||||||
|
|
||||||
|
xdebug.remote_port=9000
|
||||||
|
xdebug.remote_host=dockerhost
|
||||||
|
xdebug.idekey=PHPSTORM
|
@ -1,20 +0,0 @@
|
|||||||
; NOTE: The actual debug.so extention is NOT SET HERE but rather
|
|
||||||
; /usr/local/etc/php/conf.d/docker-php-ext-xdebug.ini
|
|
||||||
; For example:
|
|
||||||
; zend_extension=xdebug.so
|
|
||||||
|
|
||||||
xdebug.remote_autostart=1
|
|
||||||
xdebug.remote_enable=1
|
|
||||||
xdebug.remote_handler=dbgp
|
|
||||||
xdebug.remote_mode=req
|
|
||||||
|
|
||||||
; In PHPStorm: Settings > Languages & Frameworks > PHP > Debug > Xdebug > Debug port
|
|
||||||
xdebug.remote_port=9000
|
|
||||||
|
|
||||||
; This is passed with by docker-compose / workspace / extra_hosts / - "dockerhost:10.0.75.1"
|
|
||||||
; It will set 10.0.75.1 dockerhost
|
|
||||||
; This will allow xdebug to connect to the host running PHPStorm.
|
|
||||||
xdebug.remote_host=dockerhost
|
|
||||||
|
|
||||||
; PHPStorm needs this
|
|
||||||
xdebug.idekey=PHPSTORM
|
|
@ -1,6 +1,6 @@
|
|||||||
#! /bin/bash
|
#! /bin/bash
|
||||||
|
|
||||||
# NOTE: At the moment, this has only been confirmed to work PHP 7
|
# NOTE: At the moment, this has only been confirmed to work with PHP 7
|
||||||
|
|
||||||
|
|
||||||
# Grab full name of php-fpm container
|
# Grab full name of php-fpm container
|
||||||
|
Reference in New Issue
Block a user