Compare commits
29 Commits
Author | SHA1 | Date | |
---|---|---|---|
3e61554625 | |||
6054c2d250 | |||
5589a12b9d | |||
e2384e2722 | |||
d077085595 | |||
53f1032975 | |||
875ec23ade | |||
cee9de7ed1 | |||
badad156e1 | |||
8e89725381 | |||
baf29b1223 | |||
9ae6e45dda | |||
94d88e91c5 | |||
8b4901ce57 | |||
08086be4c5 | |||
f2805bca52 | |||
033e1b8721 | |||
9e290ffddb | |||
6ada2f1b91 | |||
c6e393f5ce | |||
4e443cec09 | |||
528b60eb17 | |||
aedc7c8438 | |||
ec4ccb4a20 | |||
c62ce7d36f | |||
8ee2229c84 | |||
cbd3cf7c20 | |||
d505871faf | |||
37ed904f1a |
@ -39,14 +39,15 @@ You can request a new feature by submitting an [Issue](https://github.com/larado
|
||||
Laradock uses [Hugo](https://gohugo.io/) as website generator tool, with the [Material Docs theme](http://themes.gohugo.io/theme/material-docs/). You might need to check their docs quickly.
|
||||
|
||||
|
||||
1. Install [Hugo](https://gohugo.io/) on your machine (easy steps).
|
||||
2. Open the `DOCUMENTATION/_settings/content` and search for the markdown file you want to edit (every folder is a section in the menu).
|
||||
3. After done editing, run the this command `hugo` to generate the updated site inside the `docs` folder (It's recommended to delete all files form the `/docs` folder, except the `CNAME` file, before running the `hugo` command).
|
||||
1. Install [Hugo](https://gohugo.io/) on your machine (easy thing).
|
||||
2. Open the `DOCUMENTATION/_settings/content` and search for the markdown file you want to edit (every folder represents a section in the menu).
|
||||
3. Delete the `/docs` folder from the root.
|
||||
4. When you finish editing, run the `hugo` command to generate the HTML docs (in the `/docs`).
|
||||
|
||||
#### To Host the website locally
|
||||
### To Host the website locally
|
||||
Go to `DOCUMENTATION/_settings` in your terminal and run `hugo serve` to host the website locally.
|
||||
|
||||
#### Edit the sidebar
|
||||
### Edit the sidebar
|
||||
To add a new section to the sidebar or edit existing one, you need to edit this file `DOCUMENTATION/_settings/config.toml`.
|
||||
|
||||
|
||||
|
@ -176,6 +176,11 @@ However to view the logs of all the other containers (MySQL, PHP-FPM,...) you ca
|
||||
docker logs {container-name}
|
||||
```
|
||||
|
||||
More [options](https://docs.docker.com/compose/reference/logs/)
|
||||
|
||||
```bash
|
||||
docker logs -f {container-name}
|
||||
```
|
||||
|
||||
|
||||
|
||||
|
@ -32,7 +32,6 @@ Choose the setup the best suits your needs.
|
||||
|
||||
<a name="A1"></a>
|
||||
### A.1) Already have a PHP project:
|
||||
> (Follow these steps if you already have a PHP project, and all you need is an environment to run it)
|
||||
|
||||
1 - Clone laradock on your project root directory:
|
||||
|
||||
@ -50,16 +49,18 @@ git submodule add https://github.com/Laradock/laradock.git
|
||||
Your folder structure should look like this:
|
||||
|
||||
```
|
||||
- project1
|
||||
- laradock
|
||||
- project2
|
||||
- laradock
|
||||
+ project-a
|
||||
+ laradock-a
|
||||
+ project-b
|
||||
+ laradock-b
|
||||
```
|
||||
|
||||
(It's important to rename the folders differently in each project.)
|
||||
|
||||
> **Now jump to the [Usage](#Usage) section.**
|
||||
|
||||
<a name="A2"></a>
|
||||
### A.2) Don't have a PHP project yet:
|
||||
> (Follow these steps if you don't have a PHP project yet, and you need an environment to create the project)
|
||||
|
||||
1 - Clone this repository anywhere on your machine:
|
||||
|
||||
@ -70,58 +71,57 @@ git clone https://github.com/laradock/laradock.git
|
||||
Your folder structure should look like this:
|
||||
|
||||
```
|
||||
- projects
|
||||
- laradock
|
||||
- myProject
|
||||
+ laradock
|
||||
+ project-z
|
||||
```
|
||||
|
||||
2 - Edit the `docker-compose.yml` file to map to your project directory once you have it (example: `- ../myProject:/var/www`).
|
||||
2 - Edit your web server sites configuration.
|
||||
|
||||
3 - Stop and re-run your docker-compose command for the changes to take place.
|
||||
**In case of NGINX:** open `nginx/sites/default.conf` and change the `root` from `/var/www/public` to `/var/www/{my-project-folder-name}/public`.
|
||||
|
||||
*Or you can keep `default.conf` as it is, and create a separate config `my-site.conf` file for it.*
|
||||
|
||||
**In case of Apache:** :P
|
||||
<br>
|
||||
|
||||
|
||||
> **Now jump to the [Usage](#Usage) section.**
|
||||
|
||||
```
|
||||
docker-compose stop && docker-compose up -d XXXX YYYY ZZZZ ....
|
||||
```
|
||||
|
||||
<a name="B"></a>
|
||||
### B) Setup for Multiple Projects:
|
||||
> (Follow these steps if you want a single Docker environment for all project)
|
||||
> (Follow these steps if you want a single Docker environment for all your project)
|
||||
|
||||
1 - Clone this repository anywhere on your machine:
|
||||
1 - Clone this repository anywhere on your machine (similar to [Steps A.2. from above](#A2)):
|
||||
|
||||
```bash
|
||||
git clone https://github.com/laradock/laradock.git
|
||||
```
|
||||
|
||||
2 - Edit the `docker-compose.yml` (or the `.env`) file to map to your projects directories:
|
||||
Your folder structure should look like this:
|
||||
|
||||
```
|
||||
applications:
|
||||
volumes:
|
||||
- ../project1/:/var/www/project1
|
||||
- ../project2/:/var/www/project2
|
||||
+ laradock
|
||||
+ project-1
|
||||
+ project-2
|
||||
```
|
||||
|
||||
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.
|
||||
2 - Go to `nginx/sites` and create config files to point to different project directory when visiting different domains.
|
||||
|
||||
Laradock by default includes `project-1.conf` and `project-2.conf` as working samples.
|
||||
|
||||
4 - Go to `nginx/sites` and copy `sample.conf.example` to `project1.conf` then to `project2.conf`
|
||||
3 - change the default names `project-n`:
|
||||
|
||||
5 - Open the `project1.conf` file and edit the `server_name` and the `root` as follow:
|
||||
You can rename the config files, project folders and domains as you like, just make sure the `root` in the config files, is pointing to the correct project folder name.
|
||||
|
||||
4 - Add the domains to the **hosts** files.
|
||||
|
||||
```
|
||||
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
|
||||
127.0.0.1 project-1.dev
|
||||
127.0.0.1 project-2.dev
|
||||
```
|
||||
|
||||
7 - Create your project Databases. Right now you have to do it manually by entering your DB container, until we automate it soon.
|
||||
> **Now jump to the [Usage](#Usage) section.**
|
||||
|
||||
|
||||
|
||||
@ -129,6 +129,7 @@ Do the same for each project `project2.conf`, `project3.conf`,...
|
||||
|
||||
|
||||
|
||||
<a name="Usage"></a>
|
||||
## Usage
|
||||
|
||||
**Read Before starting:**
|
||||
@ -144,10 +145,18 @@ If you are using **Docker Toolbox** (VM), do one of the following:
|
||||
|
||||
<br>
|
||||
|
||||
1 - Run Containers: *(Make sure you are in the `laradock` folder before running the `docker-compose` commands).*
|
||||
1 - Enter the laradock folder and rename `env-example` to `.env`
|
||||
|
||||
```shell
|
||||
cp env-example .env
|
||||
```
|
||||
|
||||
You can edit the `.env` file to chose which software's you want to be installed in your environment. You can always refer to the `docker-compose.yml` file to see how those variables are been used.
|
||||
|
||||
|
||||
**Example:** Running NGINX and MySQL:
|
||||
2 - Build the enviroment and run it using `docker-compose`
|
||||
|
||||
In this example we'll see how to run NGINX (web server) and MySQL (database engine) to host a PHP Web Scripts:
|
||||
|
||||
```bash
|
||||
docker-compose up -d nginx mysql
|
||||
@ -156,21 +165,21 @@ 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`.
|
||||
|
||||
|
||||
You can select your own combination of Containers form the list below:
|
||||
You can select your own combination of containers form the list below:
|
||||
|
||||
`nginx`, `hhvm`, `php-fpm`, `mysql`, `redis`, `postgres`, `mariadb`, `neo4j`, `mongo`, `apache2`, `caddy`, `memcached`, `beanstalkd`, `beanstalkd-console`, `rabbitmq`, `beanstalkd-console`, `workspace`, `phpmyadmin`, `aerospike`, `pgadmin`, `elasticsearch`, `rethinkdb`, `postgres-postgis`, `certbot`, `mailhog`, `minio` and more...!
|
||||
> `nginx`, `hhvm`, `php-fpm`, `mysql`, `redis`, `postgres`, `mariadb`, `neo4j`, `mongo`, `apache2`, `caddy`, `memcached`, `beanstalkd`, `beanstalkd-console`, `rabbitmq`, `beanstalkd-console`, `workspace`, `phpmyadmin`, `aerospike`, `pgadmin`, `elasticsearch`, `rethinkdb`, `postgres-postgis`, `certbot`, `mailhog`, `minio` and more...!
|
||||
|
||||
*(Please note that sometimes we forget to update the docs, so check the `docker-compose.yml` file to see an updated list of all available containers).*
|
||||
|
||||
|
||||
<br>
|
||||
2 - Enter the Workspace container, to execute commands like (Artisan, Composer, PHPUnit, Gulp, ...).
|
||||
3 - Enter the Workspace container, to execute commands like (Artisan, Composer, PHPUnit, Gulp, ...)
|
||||
|
||||
```bash
|
||||
docker-compose exec workspace bash
|
||||
```
|
||||
|
||||
Alternatively, for Windows PowerShell users: execute the following command to enter any running container:
|
||||
*Alternatively, for Windows PowerShell users: execute the following command to enter any running container:*
|
||||
|
||||
```bash
|
||||
docker exec -it {workspace-container-id} bash
|
||||
@ -182,12 +191,12 @@ docker exec -it {workspace-container-id} bash
|
||||
docker-compose exec --user=laradock workspace bash
|
||||
```
|
||||
|
||||
*You can change the PUID (User id) and PGID (group id) variables from the `docker-compose.yml` or the `.env`)*
|
||||
*You can change the PUID (User id) and PGID (group id) variables from the `.env` file)*
|
||||
|
||||
<br>
|
||||
3 - Edit your project configurations.
|
||||
4 - Update your project configurations to use the database host
|
||||
|
||||
Open your `.env` file and set the `DB_HOST` to `mysql`:
|
||||
Open your PHP project's `.env` file or whichever configuration file you are reading from, and set the database host `DB_HOST` to `mysql`:
|
||||
|
||||
```env
|
||||
DB_HOST=mysql
|
||||
@ -196,4 +205,6 @@ DB_HOST=mysql
|
||||
*If you want to install Laravel as PHP project, see [How to Install Laravel in a Docker Container](#Install-Laravel).*
|
||||
|
||||
<br>
|
||||
4 - Open your browser and visit your localhost address `http://localhost/`.
|
||||
5 - Open your browser and visit your localhost address `http://localhost/`. If you followed the multiple projects setup, you can visit `http://project-1.dev/` and `http://project-2.dev/`. But first don't
|
||||
|
||||
|
||||
|
@ -12,6 +12,8 @@ EXPOSE 80 443
|
||||
|
||||
WORKDIR /var/www/
|
||||
|
||||
ADD vhost.conf /etc/apache2/sites-enabled/vhost.conf
|
||||
|
||||
ENTRYPOINT ["/opt/docker/bin/entrypoint.sh"]
|
||||
|
||||
CMD ["supervisord"]
|
||||
|
3
apache2/sites/.gitignore
vendored
Normal file
3
apache2/sites/.gitignore
vendored
Normal file
@ -0,0 +1,3 @@
|
||||
*.conf
|
||||
!default.conf
|
||||
!default.apache.conf
|
16
apache2/sites/default.apache.conf
Normal file
16
apache2/sites/default.apache.conf
Normal file
@ -0,0 +1,16 @@
|
||||
<VirtualHost *:80>
|
||||
ServerName laradock.dev
|
||||
DocumentRoot /var/www/html/
|
||||
Options Indexes FollowSymLinks
|
||||
|
||||
<Directory "/var/www/html/">
|
||||
AllowOverride All
|
||||
<IfVersion < 2.4>
|
||||
Allow from all
|
||||
</IfVersion>
|
||||
<IfVersion >= 2.4>
|
||||
Require all granted
|
||||
</IfVersion>
|
||||
</Directory>
|
||||
|
||||
</VirtualHost>
|
16
apache2/sites/sample.conf.example
Normal file
16
apache2/sites/sample.conf.example
Normal file
@ -0,0 +1,16 @@
|
||||
<VirtualHost *:80>
|
||||
ServerName sample.dev
|
||||
DocumentRoot /var/www/sample/public/
|
||||
Options Indexes FollowSymLinks
|
||||
|
||||
<Directory "/var/www/sample/public/">
|
||||
AllowOverride All
|
||||
<IfVersion < 2.4>
|
||||
Allow from all
|
||||
</IfVersion>
|
||||
<IfVersion >= 2.4>
|
||||
Require all granted
|
||||
</IfVersion>
|
||||
</Directory>
|
||||
|
||||
</VirtualHost>
|
1
apache2/vhost.conf
Normal file
1
apache2/vhost.conf
Normal file
@ -0,0 +1 @@
|
||||
Include /etc/apache2/sites-available/*.conf
|
@ -7,7 +7,7 @@ services:
|
||||
applications:
|
||||
image: tianon/true
|
||||
volumes:
|
||||
- ${APPLICATION_1}:/var/www
|
||||
- ${APPLICATION}:/var/www
|
||||
|
||||
### Workspace Utilities Container ###########################
|
||||
|
||||
@ -60,6 +60,7 @@ services:
|
||||
- INSTALL_AEROSPIKE_EXTENSION=${PHP_FPM_INSTALL_AEROSPIKE_EXTENSION}
|
||||
- INSTALL_MYSQLI=${PHP_FPM_INSTALL_MYSQLI}
|
||||
- INSTALL_TOKENIZER=${PHP_FPM_INSTALL_TOKENIZER}
|
||||
- INSTALL_INTL=${PHP_FPM_INSTALL_INTL}
|
||||
dockerfile: ${PHP_FPM_DOCKER_FILE}
|
||||
volumes_from:
|
||||
- applications
|
||||
@ -71,6 +72,15 @@ services:
|
||||
- "dockerhost:${DOCKER_HOST_IP}"
|
||||
environment:
|
||||
- PHP_IDE_CONFIG=${PHP_IDE_CONFIG}
|
||||
|
||||
### PHP Worker Container #####################################
|
||||
php-worker:
|
||||
build:
|
||||
context: ./php-worker
|
||||
volumes_from:
|
||||
- applications
|
||||
depends_on:
|
||||
- workspace
|
||||
|
||||
### Nginx Server Container ##################################
|
||||
|
||||
@ -101,6 +111,9 @@ services:
|
||||
- applications
|
||||
volumes:
|
||||
- ${APACHE_HOST_LOG_PATH}:/var/log/apache2
|
||||
- ./apache2/sites:/etc/apache2/sites-available
|
||||
|
||||
|
||||
ports:
|
||||
- "${APACHE_HOST_HTTP_PORT}:80"
|
||||
- "${APACHE_HOST_HTTPS_PORT}:443"
|
||||
|
@ -346,16 +346,17 @@ features, by not reporting duplicate issues.</em></p>
|
||||
<p>Laradock uses <a href="https://gohugo.io/">Hugo</a> as website generator tool, with the <a href="http://themes.gohugo.io/theme/material-docs/">Material Docs theme</a>. You might need to check their docs quickly.</p>
|
||||
|
||||
<ol>
|
||||
<li>Install <a href="https://gohugo.io/">Hugo</a> on your machine (easy steps).</li>
|
||||
<li>Open the <code>DOCUMENTATION/_settings/content</code> and search for the markdown file you want to edit (every folder is a section in the menu).</li>
|
||||
<li>After done editing, run the this command <code>hugo</code> to generate the updated site inside the <code>docs</code> folder (It’s recommended to delete all files form the <code>/docs</code> folder, except the <code>CNAME</code> file, before running the <code>hugo</code> command).</li>
|
||||
<li>Install <a href="https://gohugo.io/">Hugo</a> on your machine (easy thing).</li>
|
||||
<li>Open the <code>DOCUMENTATION/_settings/content</code> and search for the markdown file you want to edit (every folder represents a section in the menu).</li>
|
||||
<li>Delete the <code>/docs</code> folder from the root.</li>
|
||||
<li>When you finish editing, run the <code>hugo</code> command to generate the HTML docs (in the <code>/docs</code>).</li>
|
||||
</ol>
|
||||
|
||||
<h4 id="to-host-the-website-locally">To Host the website locally</h4>
|
||||
<h3 id="to-host-the-website-locally">To Host the website locally</h3>
|
||||
|
||||
<p>Go to <code>DOCUMENTATION/_settings</code> in your terminal and run <code>hugo serve</code> to host the website locally.</p>
|
||||
|
||||
<h4 id="edit-the-sidebar">Edit the sidebar</h4>
|
||||
<h3 id="edit-the-sidebar">Edit the sidebar</h3>
|
||||
|
||||
<p>To add a new section to the sidebar or edit existing one, you need to edit this file <code>DOCUMENTATION/_settings/config.toml</code>.</p>
|
||||
|
||||
|
@ -49,16 +49,17 @@ features, by not reporting duplicate issues.</em></p>
|
||||
<p>Laradock uses <a href="https://gohugo.io/">Hugo</a> as website generator tool, with the <a href="http://themes.gohugo.io/theme/material-docs/">Material Docs theme</a>. You might need to check their docs quickly.</p>
|
||||
|
||||
<ol>
|
||||
<li>Install <a href="https://gohugo.io/">Hugo</a> on your machine (easy steps).</li>
|
||||
<li>Open the <code>DOCUMENTATION/_settings/content</code> and search for the markdown file you want to edit (every folder is a section in the menu).</li>
|
||||
<li>After done editing, run the this command <code>hugo</code> to generate the updated site inside the <code>docs</code> folder (It&rsquo;s recommended to delete all files form the <code>/docs</code> folder, except the <code>CNAME</code> file, before running the <code>hugo</code> command).</li>
|
||||
<li>Install <a href="https://gohugo.io/">Hugo</a> on your machine (easy thing).</li>
|
||||
<li>Open the <code>DOCUMENTATION/_settings/content</code> and search for the markdown file you want to edit (every folder represents a section in the menu).</li>
|
||||
<li>Delete the <code>/docs</code> folder from the root.</li>
|
||||
<li>When you finish editing, run the <code>hugo</code> command to generate the HTML docs (in the <code>/docs</code>).</li>
|
||||
</ol>
|
||||
|
||||
<h4 id="to-host-the-website-locally">To Host the website locally</h4>
|
||||
<h3 id="to-host-the-website-locally">To Host the website locally</h3>
|
||||
|
||||
<p>Go to <code>DOCUMENTATION/_settings</code> in your terminal and run <code>hugo serve</code> to host the website locally.</p>
|
||||
|
||||
<h4 id="edit-the-sidebar">Edit the sidebar</h4>
|
||||
<h3 id="edit-the-sidebar">Edit the sidebar</h3>
|
||||
|
||||
<p>To add a new section to the sidebar or edit existing one, you need to edit this file <code>DOCUMENTATION/_settings/config.toml</code>.</p>
|
||||
|
||||
|
@ -447,6 +447,11 @@ example for <code>mysql</code> it will be <code>mysql/Dockerfile</code>.</p>
|
||||
<pre><code class="language-bash">docker logs {container-name}
|
||||
</code></pre>
|
||||
|
||||
<p>More <a href="https://docs.docker.com/compose/reference/logs/">options</a></p>
|
||||
|
||||
<pre><code class="language-bash">docker logs -f {container-name}
|
||||
</code></pre>
|
||||
|
||||
<p><br>
|
||||
<a name="PHP"></a></p>
|
||||
|
||||
|
@ -150,6 +150,11 @@ example for <code>mysql</code> it will be <code>mysql/Dockerfi
|
||||
<pre><code class="language-bash">docker logs {container-name}
|
||||
</code></pre>
|
||||
|
||||
<p>More <a href="https://docs.docker.com/compose/reference/logs/">options</a></p>
|
||||
|
||||
<pre><code class="language-bash">docker logs -f {container-name}
|
||||
</code></pre>
|
||||
|
||||
<p><br>
|
||||
<a name="PHP"></a></p>
|
||||
|
||||
|
@ -346,10 +346,6 @@
|
||||
|
||||
<h3 id="a-1-already-have-a-php-project">A.1) Already have a PHP project:</h3>
|
||||
|
||||
<blockquote>
|
||||
<p>(Follow these steps if you already have a PHP project, and all you need is an environment to run it)</p>
|
||||
</blockquote>
|
||||
|
||||
<p>1 - Clone laradock on your project root directory:</p>
|
||||
|
||||
<pre><code class="language-bash">git submodule add https://github.com/Laradock/laradock.git
|
||||
@ -365,20 +361,22 @@
|
||||
|
||||
<p>Your folder structure should look like this:</p>
|
||||
|
||||
<pre><code>- project1
|
||||
- laradock
|
||||
- project2
|
||||
- laradock
|
||||
<pre><code>+ project-a
|
||||
+ laradock-a
|
||||
+ project-b
|
||||
+ laradock-b
|
||||
</code></pre>
|
||||
|
||||
<p>(It’s important to rename the folders differently in each project.)</p>
|
||||
|
||||
<blockquote>
|
||||
<p><strong>Now jump to the <a href="#Usage">Usage</a> section.</strong></p>
|
||||
</blockquote>
|
||||
|
||||
<p><a name="A2"></a></p>
|
||||
|
||||
<h3 id="a-2-don-t-have-a-php-project-yet">A.2) Don’t have a PHP project yet:</h3>
|
||||
|
||||
<blockquote>
|
||||
<p>(Follow these steps if you don’t have a PHP project yet, and you need an environment to create the project)</p>
|
||||
</blockquote>
|
||||
|
||||
<p>1 - Clone this repository anywhere on your machine:</p>
|
||||
|
||||
<pre><code class="language-bash">git clone https://github.com/laradock/laradock.git
|
||||
@ -386,57 +384,62 @@
|
||||
|
||||
<p>Your folder structure should look like this:</p>
|
||||
|
||||
<pre><code>- projects
|
||||
- laradock
|
||||
- myProject
|
||||
<pre><code>+ laradock
|
||||
+ project-z
|
||||
</code></pre>
|
||||
|
||||
<p>2 - Edit the <code>docker-compose.yml</code> file to map to your project directory once you have it (example: <code>- ../myProject:/var/www</code>).</p>
|
||||
<p>2 - Edit your web server sites configuration.</p>
|
||||
|
||||
<p>3 - Stop and re-run your docker-compose command for the changes to take place.</p>
|
||||
<p><strong>In case of NGINX:</strong> open <code>nginx/sites/default.conf</code> and change the <code>root</code> from <code>/var/www/public</code> to <code>/var/www/{my-project-folder-name}/public</code>.</p>
|
||||
|
||||
<pre><code>docker-compose stop && docker-compose up -d XXXX YYYY ZZZZ ....
|
||||
</code></pre>
|
||||
<p><em>Or you can keep <code>default.conf</code> as it is, and create a separate config <code>my-site.conf</code> file for it.</em></p>
|
||||
|
||||
<p><strong>In case of Apache:</strong> :P
|
||||
<br></p>
|
||||
|
||||
<blockquote>
|
||||
<p><strong>Now jump to the <a href="#Usage">Usage</a> section.</strong></p>
|
||||
</blockquote>
|
||||
|
||||
<p><a name="B"></a></p>
|
||||
|
||||
<h3 id="b-setup-for-multiple-projects">B) Setup for Multiple Projects:</h3>
|
||||
|
||||
<blockquote>
|
||||
<p>(Follow these steps if you want a single Docker environment for all project)</p>
|
||||
<p>(Follow these steps if you want a single Docker environment for all your project)</p>
|
||||
</blockquote>
|
||||
|
||||
<p>1 - Clone this repository anywhere on your machine:</p>
|
||||
<p>1 - Clone this repository anywhere on your machine (similar to <a href="#A2">Steps A.2. from above</a>):</p>
|
||||
|
||||
<pre><code class="language-bash">git clone https://github.com/laradock/laradock.git
|
||||
</code></pre>
|
||||
|
||||
<p>2 - Edit the <code>docker-compose.yml</code> (or the <code>.env</code>) file to map to your projects directories:</p>
|
||||
<p>Your folder structure should look like this:</p>
|
||||
|
||||
<pre><code> applications:
|
||||
volumes:
|
||||
- ../project1/:/var/www/project1
|
||||
- ../project2/:/var/www/project2
|
||||
<pre><code>+ laradock
|
||||
+ project-1
|
||||
+ project-2
|
||||
</code></pre>
|
||||
|
||||
<p>3 - You can access all sites by visiting <code>http://localhost/project1/public</code> and <code>http://localhost/project2/public</code> but of course that’s not very useful so let’s setup NGINX quickly.</p>
|
||||
<p>2 - Go to <code>nginx/sites</code> and create config files to point to different project directory when visiting different domains.</p>
|
||||
|
||||
<p>4 - Go to <code>nginx/sites</code> and copy <code>sample.conf.example</code> to <code>project1.conf</code> then to <code>project2.conf</code></p>
|
||||
<p>Laradock by default includes <code>project-1.conf</code> and <code>project-2.conf</code> as working samples.</p>
|
||||
|
||||
<p>5 - Open the <code>project1.conf</code> file and edit the <code>server_name</code> and the <code>root</code> as follow:</p>
|
||||
<p>3 - change the default names <code>project-n</code>:</p>
|
||||
|
||||
<pre><code> server_name project1.dev;
|
||||
root /var/www/project1/public;
|
||||
<p>You can rename the config files, project folders and domains as you like, just make sure the <code>root</code> in the config files, is pointing to the correct project folder name.</p>
|
||||
|
||||
<p>4 - Add the domains to the <strong>hosts</strong> files.</p>
|
||||
|
||||
<pre><code>127.0.0.1 project-1.dev
|
||||
127.0.0.1 project-2.dev
|
||||
</code></pre>
|
||||
|
||||
<p>Do the same for each project <code>project2.conf</code>, <code>project3.conf</code>,…</p>
|
||||
<blockquote>
|
||||
<p><strong>Now jump to the <a href="#Usage">Usage</a> section.</strong></p>
|
||||
</blockquote>
|
||||
|
||||
<p>6 - Add the domains to the <strong>hosts</strong> files.</p>
|
||||
|
||||
<pre><code>127.0.0.1 project1.dev
|
||||
</code></pre>
|
||||
|
||||
<p>7 - Create your project Databases. Right now you have to do it manually by entering your DB container, until we automate it soon.</p>
|
||||
<p><a name="Usage"></a></p>
|
||||
|
||||
<h2 id="usage">Usage</h2>
|
||||
|
||||
@ -457,28 +460,37 @@
|
||||
|
||||
<p><br></p>
|
||||
|
||||
<p>1 - Run Containers: <em>(Make sure you are in the <code>laradock</code> folder before running the <code>docker-compose</code> commands).</em></p>
|
||||
<p>1 - Enter the laradock folder and rename <code>env-example</code> to <code>.env</code></p>
|
||||
|
||||
<p><strong>Example:</strong> Running NGINX and MySQL:</p>
|
||||
<pre><code class="language-shell">cp env-example .env
|
||||
</code></pre>
|
||||
|
||||
<p>You can edit the <code>.env</code> file to chose which software’s you want to be installed in your environment. You can always refer to the <code>docker-compose.yml</code> file to see how those variables are been used.</p>
|
||||
|
||||
<p>2 - Build the enviroment and run it using <code>docker-compose</code></p>
|
||||
|
||||
<p>In this example we’ll see how to run NGINX (web server) and MySQL (database engine) to host a PHP Web Scripts:</p>
|
||||
|
||||
<pre><code class="language-bash">docker-compose up -d nginx mysql
|
||||
</code></pre>
|
||||
|
||||
<p><strong>Note</strong>: The <code>workspace</code> and <code>php-fpm</code> will run automatically in most of the cases, so no need to specify them in the <code>up</code> command. If you couldn’t find them running then you need specify them as follow: <code>docker-compose up -d nginx php-fpm mysql workspace</code>.</p>
|
||||
|
||||
<p>You can select your own combination of Containers form the list below:</p>
|
||||
<p>You can select your own combination of containers form the list below:</p>
|
||||
|
||||
<blockquote>
|
||||
<p><code>nginx</code>, <code>hhvm</code>, <code>php-fpm</code>, <code>mysql</code>, <code>redis</code>, <code>postgres</code>, <code>mariadb</code>, <code>neo4j</code>, <code>mongo</code>, <code>apache2</code>, <code>caddy</code>, <code>memcached</code>, <code>beanstalkd</code>, <code>beanstalkd-console</code>, <code>rabbitmq</code>, <code>beanstalkd-console</code>, <code>workspace</code>, <code>phpmyadmin</code>, <code>aerospike</code>, <code>pgadmin</code>, <code>elasticsearch</code>, <code>rethinkdb</code>, <code>postgres-postgis</code>, <code>certbot</code>, <code>mailhog</code>, <code>minio</code> and more…!</p>
|
||||
</blockquote>
|
||||
|
||||
<p><em>(Please note that sometimes we forget to update the docs, so check the <code>docker-compose.yml</code> file to see an updated list of all available containers).</em></p>
|
||||
|
||||
<p><br>
|
||||
2 - Enter the Workspace container, to execute commands like (Artisan, Composer, PHPUnit, Gulp, …).</p>
|
||||
3 - Enter the Workspace container, to execute commands like (Artisan, Composer, PHPUnit, Gulp, …)</p>
|
||||
|
||||
<pre><code class="language-bash">docker-compose exec workspace bash
|
||||
</code></pre>
|
||||
|
||||
<p>Alternatively, for Windows PowerShell users: execute the following command to enter any running container:</p>
|
||||
<p><em>Alternatively, for Windows PowerShell users: execute the following command to enter any running container:</em></p>
|
||||
|
||||
<pre><code class="language-bash">docker exec -it {workspace-container-id} bash
|
||||
</code></pre>
|
||||
@ -488,12 +500,12 @@
|
||||
<pre><code class="language-shell">docker-compose exec --user=laradock workspace bash
|
||||
</code></pre>
|
||||
|
||||
<p><em>You can change the PUID (User id) and PGID (group id) variables from the <code>docker-compose.yml</code> or the <code>.env</code>)</em></p>
|
||||
<p><em>You can change the PUID (User id) and PGID (group id) variables from the <code>.env</code> file)</em></p>
|
||||
|
||||
<p><br>
|
||||
3 - Edit your project configurations.</p>
|
||||
4 - Update your project configurations to use the database host</p>
|
||||
|
||||
<p>Open your <code>.env</code> file and set the <code>DB_HOST</code> to <code>mysql</code>:</p>
|
||||
<p>Open your PHP project’s <code>.env</code> file or whichever configuration file you are reading from, and set the database host <code>DB_HOST</code> to <code>mysql</code>:</p>
|
||||
|
||||
<pre><code class="language-env">DB_HOST=mysql
|
||||
</code></pre>
|
||||
@ -501,7 +513,7 @@
|
||||
<p><em>If you want to install Laravel as PHP project, see <a href="#Install-Laravel">How to Install Laravel in a Docker Container</a>.</em></p>
|
||||
|
||||
<p><br>
|
||||
4 - Open your browser and visit your localhost address <code>http://localhost/</code>.</p>
|
||||
5 - Open your browser and visit your localhost address <code>http://localhost/</code>. If you followed the multiple projects setup, you can visit <code>http://project-1.dev/</code> and <code>http://project-2.dev/</code>. But first don’t</p>
|
||||
|
||||
|
||||
<aside class="copyright" role="note">
|
||||
|
@ -49,10 +49,6 @@
|
||||
|
||||
<h3 id="a-1-already-have-a-php-project">A.1) Already have a PHP project:</h3>
|
||||
|
||||
<blockquote>
|
||||
<p>(Follow these steps if you already have a PHP project, and all you need is an environment to run it)</p>
|
||||
</blockquote>
|
||||
|
||||
<p>1 - Clone laradock on your project root directory:</p>
|
||||
|
||||
<pre><code class="language-bash">git submodule add https://github.com/Laradock/laradock.git
|
||||
@ -68,20 +64,22 @@
|
||||
|
||||
<p>Your folder structure should look like this:</p>
|
||||
|
||||
<pre><code>- project1
|
||||
- laradock
|
||||
- project2
|
||||
- laradock
|
||||
<pre><code>+ project-a
|
||||
+ laradock-a
|
||||
+ project-b
|
||||
+ laradock-b
|
||||
</code></pre>
|
||||
|
||||
<p>(It&rsquo;s important to rename the folders differently in each project.)</p>
|
||||
|
||||
<blockquote>
|
||||
<p><strong>Now jump to the <a href="#Usage">Usage</a> section.</strong></p>
|
||||
</blockquote>
|
||||
|
||||
<p><a name="A2"></a></p>
|
||||
|
||||
<h3 id="a-2-don-t-have-a-php-project-yet">A.2) Don&rsquo;t have a PHP project yet:</h3>
|
||||
|
||||
<blockquote>
|
||||
<p>(Follow these steps if you don&rsquo;t have a PHP project yet, and you need an environment to create the project)</p>
|
||||
</blockquote>
|
||||
|
||||
<p>1 - Clone this repository anywhere on your machine:</p>
|
||||
|
||||
<pre><code class="language-bash">git clone https://github.com/laradock/laradock.git
|
||||
@ -89,57 +87,62 @@
|
||||
|
||||
<p>Your folder structure should look like this:</p>
|
||||
|
||||
<pre><code>- projects
|
||||
- laradock
|
||||
- myProject
|
||||
<pre><code>+ laradock
|
||||
+ project-z
|
||||
</code></pre>
|
||||
|
||||
<p>2 - Edit the <code>docker-compose.yml</code> file to map to your project directory once you have it (example: <code>- ../myProject:/var/www</code>).</p>
|
||||
<p>2 - Edit your web server sites configuration.</p>
|
||||
|
||||
<p>3 - Stop and re-run your docker-compose command for the changes to take place.</p>
|
||||
<p><strong>In case of NGINX:</strong> open <code>nginx/sites/default.conf</code> and change the <code>root</code> from <code>/var/www/public</code> to <code>/var/www/{my-project-folder-name}/public</code>.</p>
|
||||
|
||||
<pre><code>docker-compose stop &amp;&amp; docker-compose up -d XXXX YYYY ZZZZ ....
|
||||
</code></pre>
|
||||
<p><em>Or you can keep <code>default.conf</code> as it is, and create a separate config <code>my-site.conf</code> file for it.</em></p>
|
||||
|
||||
<p><strong>In case of Apache:</strong> :P
|
||||
<br></p>
|
||||
|
||||
<blockquote>
|
||||
<p><strong>Now jump to the <a href="#Usage">Usage</a> section.</strong></p>
|
||||
</blockquote>
|
||||
|
||||
<p><a name="B"></a></p>
|
||||
|
||||
<h3 id="b-setup-for-multiple-projects">B) Setup for Multiple Projects:</h3>
|
||||
|
||||
<blockquote>
|
||||
<p>(Follow these steps if you want a single Docker environment for all project)</p>
|
||||
<p>(Follow these steps if you want a single Docker environment for all your project)</p>
|
||||
</blockquote>
|
||||
|
||||
<p>1 - Clone this repository anywhere on your machine:</p>
|
||||
<p>1 - Clone this repository anywhere on your machine (similar to <a href="#A2">Steps A.2. from above</a>):</p>
|
||||
|
||||
<pre><code class="language-bash">git clone https://github.com/laradock/laradock.git
|
||||
</code></pre>
|
||||
|
||||
<p>2 - Edit the <code>docker-compose.yml</code> (or the <code>.env</code>) file to map to your projects directories:</p>
|
||||
<p>Your folder structure should look like this:</p>
|
||||
|
||||
<pre><code> applications:
|
||||
volumes:
|
||||
- ../project1/:/var/www/project1
|
||||
- ../project2/:/var/www/project2
|
||||
<pre><code>+ laradock
|
||||
+ project-1
|
||||
+ project-2
|
||||
</code></pre>
|
||||
|
||||
<p>3 - You can access all sites by visiting <code>http://localhost/project1/public</code> and <code>http://localhost/project2/public</code> but of course that&rsquo;s not very useful so let&rsquo;s setup NGINX quickly.</p>
|
||||
<p>2 - Go to <code>nginx/sites</code> and create config files to point to different project directory when visiting different domains.</p>
|
||||
|
||||
<p>4 - Go to <code>nginx/sites</code> and copy <code>sample.conf.example</code> to <code>project1.conf</code> then to <code>project2.conf</code></p>
|
||||
<p>Laradock by default includes <code>project-1.conf</code> and <code>project-2.conf</code> as working samples.</p>
|
||||
|
||||
<p>5 - Open the <code>project1.conf</code> file and edit the <code>server_name</code> and the <code>root</code> as follow:</p>
|
||||
<p>3 - change the default names <code>project-n</code>:</p>
|
||||
|
||||
<pre><code> server_name project1.dev;
|
||||
root /var/www/project1/public;
|
||||
<p>You can rename the config files, project folders and domains as you like, just make sure the <code>root</code> in the config files, is pointing to the correct project folder name.</p>
|
||||
|
||||
<p>4 - Add the domains to the <strong>hosts</strong> files.</p>
|
||||
|
||||
<pre><code>127.0.0.1 project-1.dev
|
||||
127.0.0.1 project-2.dev
|
||||
</code></pre>
|
||||
|
||||
<p>Do the same for each project <code>project2.conf</code>, <code>project3.conf</code>,&hellip;</p>
|
||||
<blockquote>
|
||||
<p><strong>Now jump to the <a href="#Usage">Usage</a> section.</strong></p>
|
||||
</blockquote>
|
||||
|
||||
<p>6 - Add the domains to the <strong>hosts</strong> files.</p>
|
||||
|
||||
<pre><code>127.0.0.1 project1.dev
|
||||
</code></pre>
|
||||
|
||||
<p>7 - Create your project Databases. Right now you have to do it manually by entering your DB container, until we automate it soon.</p>
|
||||
<p><a name="Usage"></a></p>
|
||||
|
||||
<h2 id="usage">Usage</h2>
|
||||
|
||||
@ -160,28 +163,37 @@
|
||||
|
||||
<p><br></p>
|
||||
|
||||
<p>1 - Run Containers: <em>(Make sure you are in the <code>laradock</code> folder before running the <code>docker-compose</code> commands).</em></p>
|
||||
<p>1 - Enter the laradock folder and rename <code>env-example</code> to <code>.env</code></p>
|
||||
|
||||
<p><strong>Example:</strong> Running NGINX and MySQL:</p>
|
||||
<pre><code class="language-shell">cp env-example .env
|
||||
</code></pre>
|
||||
|
||||
<p>You can edit the <code>.env</code> file to chose which software&rsquo;s you want to be installed in your environment. You can always refer to the <code>docker-compose.yml</code> file to see how those variables are been used.</p>
|
||||
|
||||
<p>2 - Build the enviroment and run it using <code>docker-compose</code></p>
|
||||
|
||||
<p>In this example we&rsquo;ll see how to run NGINX (web server) and MySQL (database engine) to host a PHP Web Scripts:</p>
|
||||
|
||||
<pre><code class="language-bash">docker-compose up -d nginx mysql
|
||||
</code></pre>
|
||||
|
||||
<p><strong>Note</strong>: The <code>workspace</code> and <code>php-fpm</code> will run automatically in most of the cases, so no need to specify them in the <code>up</code> command. If you couldn&rsquo;t find them running then you need specify them as follow: <code>docker-compose up -d nginx php-fpm mysql workspace</code>.</p>
|
||||
|
||||
<p>You can select your own combination of Containers form the list below:</p>
|
||||
<p>You can select your own combination of containers form the list below:</p>
|
||||
|
||||
<blockquote>
|
||||
<p><code>nginx</code>, <code>hhvm</code>, <code>php-fpm</code>, <code>mysql</code>, <code>redis</code>, <code>postgres</code>, <code>mariadb</code>, <code>neo4j</code>, <code>mongo</code>, <code>apache2</code>, <code>caddy</code>, <code>memcached</code>, <code>beanstalkd</code>, <code>beanstalkd-console</code>, <code>rabbitmq</code>, <code>beanstalkd-console</code>, <code>workspace</code>, <code>phpmyadmin</code>, <code>aerospike</code>, <code>pgadmin</code>, <code>elasticsearch</code>, <code>rethinkdb</code>, <code>postgres-postgis</code>, <code>certbot</code>, <code>mailhog</code>, <code>minio</code> and more&hellip;!</p>
|
||||
</blockquote>
|
||||
|
||||
<p><em>(Please note that sometimes we forget to update the docs, so check the <code>docker-compose.yml</code> file to see an updated list of all available containers).</em></p>
|
||||
|
||||
<p><br>
|
||||
2 - Enter the Workspace container, to execute commands like (Artisan, Composer, PHPUnit, Gulp, &hellip;).</p>
|
||||
3 - Enter the Workspace container, to execute commands like (Artisan, Composer, PHPUnit, Gulp, &hellip;)</p>
|
||||
|
||||
<pre><code class="language-bash">docker-compose exec workspace bash
|
||||
</code></pre>
|
||||
|
||||
<p>Alternatively, for Windows PowerShell users: execute the following command to enter any running container:</p>
|
||||
<p><em>Alternatively, for Windows PowerShell users: execute the following command to enter any running container:</em></p>
|
||||
|
||||
<pre><code class="language-bash">docker exec -it {workspace-container-id} bash
|
||||
</code></pre>
|
||||
@ -191,12 +203,12 @@
|
||||
<pre><code class="language-shell">docker-compose exec --user=laradock workspace bash
|
||||
</code></pre>
|
||||
|
||||
<p><em>You can change the PUID (User id) and PGID (group id) variables from the <code>docker-compose.yml</code> or the <code>.env</code>)</em></p>
|
||||
<p><em>You can change the PUID (User id) and PGID (group id) variables from the <code>.env</code> file)</em></p>
|
||||
|
||||
<p><br>
|
||||
3 - Edit your project configurations.</p>
|
||||
4 - Update your project configurations to use the database host</p>
|
||||
|
||||
<p>Open your <code>.env</code> file and set the <code>DB_HOST</code> to <code>mysql</code>:</p>
|
||||
<p>Open your PHP project&rsquo;s <code>.env</code> file or whichever configuration file you are reading from, and set the database host <code>DB_HOST</code> to <code>mysql</code>:</p>
|
||||
|
||||
<pre><code class="language-env">DB_HOST=mysql
|
||||
</code></pre>
|
||||
@ -204,7 +216,7 @@
|
||||
<p><em>If you want to install Laravel as PHP project, see <a href="#Install-Laravel">How to Install Laravel in a Docker Container</a>.</em></p>
|
||||
|
||||
<p><br>
|
||||
4 - Open your browser and visit your localhost address <code>http://localhost/</code>.</p>
|
||||
5 - Open your browser and visit your localhost address <code>http://localhost/</code>. If you followed the multiple projects setup, you can visit <code>http://project-1.dev/</code> and <code>http://project-2.dev/</code>. But first don&rsquo;t</p>
|
||||
</description>
|
||||
</item>
|
||||
|
||||
|
122
docs/index.html
122
docs/index.html
@ -544,10 +544,6 @@ QUEUE_HOST=beanstalkd
|
||||
|
||||
<h3 id="a-1-already-have-a-php-project">A.1) Already have a PHP project:</h3>
|
||||
|
||||
<blockquote>
|
||||
<p>(Follow these steps if you already have a PHP project, and all you need is an environment to run it)</p>
|
||||
</blockquote>
|
||||
|
||||
<p>1 - Clone laradock on your project root directory:</p>
|
||||
|
||||
<pre><code class="language-bash">git submodule add https://github.com/Laradock/laradock.git
|
||||
@ -563,20 +559,22 @@ QUEUE_HOST=beanstalkd
|
||||
|
||||
<p>Your folder structure should look like this:</p>
|
||||
|
||||
<pre><code>- project1
|
||||
- laradock
|
||||
- project2
|
||||
- laradock
|
||||
<pre><code>+ project-a
|
||||
+ laradock-a
|
||||
+ project-b
|
||||
+ laradock-b
|
||||
</code></pre>
|
||||
|
||||
<p>(It’s important to rename the folders differently in each project.)</p>
|
||||
|
||||
<blockquote>
|
||||
<p><strong>Now jump to the <a href="#Usage">Usage</a> section.</strong></p>
|
||||
</blockquote>
|
||||
|
||||
<p><a name="A2"></a></p>
|
||||
|
||||
<h3 id="a-2-don-t-have-a-php-project-yet">A.2) Don’t have a PHP project yet:</h3>
|
||||
|
||||
<blockquote>
|
||||
<p>(Follow these steps if you don’t have a PHP project yet, and you need an environment to create the project)</p>
|
||||
</blockquote>
|
||||
|
||||
<p>1 - Clone this repository anywhere on your machine:</p>
|
||||
|
||||
<pre><code class="language-bash">git clone https://github.com/laradock/laradock.git
|
||||
@ -584,57 +582,62 @@ QUEUE_HOST=beanstalkd
|
||||
|
||||
<p>Your folder structure should look like this:</p>
|
||||
|
||||
<pre><code>- projects
|
||||
- laradock
|
||||
- myProject
|
||||
<pre><code>+ laradock
|
||||
+ project-z
|
||||
</code></pre>
|
||||
|
||||
<p>2 - Edit the <code>docker-compose.yml</code> file to map to your project directory once you have it (example: <code>- ../myProject:/var/www</code>).</p>
|
||||
<p>2 - Edit your web server sites configuration.</p>
|
||||
|
||||
<p>3 - Stop and re-run your docker-compose command for the changes to take place.</p>
|
||||
<p><strong>In case of NGINX:</strong> open <code>nginx/sites/default.conf</code> and change the <code>root</code> from <code>/var/www/public</code> to <code>/var/www/{my-project-folder-name}/public</code>.</p>
|
||||
|
||||
<pre><code>docker-compose stop && docker-compose up -d XXXX YYYY ZZZZ ....
|
||||
</code></pre>
|
||||
<p><em>Or you can keep <code>default.conf</code> as it is, and create a separate config <code>my-site.conf</code> file for it.</em></p>
|
||||
|
||||
<p><strong>In case of Apache:</strong> :P
|
||||
<br></p>
|
||||
|
||||
<blockquote>
|
||||
<p><strong>Now jump to the <a href="#Usage">Usage</a> section.</strong></p>
|
||||
</blockquote>
|
||||
|
||||
<p><a name="B"></a></p>
|
||||
|
||||
<h3 id="b-setup-for-multiple-projects">B) Setup for Multiple Projects:</h3>
|
||||
|
||||
<blockquote>
|
||||
<p>(Follow these steps if you want a single Docker environment for all project)</p>
|
||||
<p>(Follow these steps if you want a single Docker environment for all your project)</p>
|
||||
</blockquote>
|
||||
|
||||
<p>1 - Clone this repository anywhere on your machine:</p>
|
||||
<p>1 - Clone this repository anywhere on your machine (similar to <a href="#A2">Steps A.2. from above</a>):</p>
|
||||
|
||||
<pre><code class="language-bash">git clone https://github.com/laradock/laradock.git
|
||||
</code></pre>
|
||||
|
||||
<p>2 - Edit the <code>docker-compose.yml</code> (or the <code>.env</code>) file to map to your projects directories:</p>
|
||||
<p>Your folder structure should look like this:</p>
|
||||
|
||||
<pre><code> applications:
|
||||
volumes:
|
||||
- ../project1/:/var/www/project1
|
||||
- ../project2/:/var/www/project2
|
||||
<pre><code>+ laradock
|
||||
+ project-1
|
||||
+ project-2
|
||||
</code></pre>
|
||||
|
||||
<p>3 - You can access all sites by visiting <code>http://localhost/project1/public</code> and <code>http://localhost/project2/public</code> but of course that’s not very useful so let’s setup NGINX quickly.</p>
|
||||
<p>2 - Go to <code>nginx/sites</code> and create config files to point to different project directory when visiting different domains.</p>
|
||||
|
||||
<p>4 - Go to <code>nginx/sites</code> and copy <code>sample.conf.example</code> to <code>project1.conf</code> then to <code>project2.conf</code></p>
|
||||
<p>Laradock by default includes <code>project-1.conf</code> and <code>project-2.conf</code> as working samples.</p>
|
||||
|
||||
<p>5 - Open the <code>project1.conf</code> file and edit the <code>server_name</code> and the <code>root</code> as follow:</p>
|
||||
<p>3 - change the default names <code>project-n</code>:</p>
|
||||
|
||||
<pre><code> server_name project1.dev;
|
||||
root /var/www/project1/public;
|
||||
<p>You can rename the config files, project folders and domains as you like, just make sure the <code>root</code> in the config files, is pointing to the correct project folder name.</p>
|
||||
|
||||
<p>4 - Add the domains to the <strong>hosts</strong> files.</p>
|
||||
|
||||
<pre><code>127.0.0.1 project-1.dev
|
||||
127.0.0.1 project-2.dev
|
||||
</code></pre>
|
||||
|
||||
<p>Do the same for each project <code>project2.conf</code>, <code>project3.conf</code>,…</p>
|
||||
<blockquote>
|
||||
<p><strong>Now jump to the <a href="#Usage">Usage</a> section.</strong></p>
|
||||
</blockquote>
|
||||
|
||||
<p>6 - Add the domains to the <strong>hosts</strong> files.</p>
|
||||
|
||||
<pre><code>127.0.0.1 project1.dev
|
||||
</code></pre>
|
||||
|
||||
<p>7 - Create your project Databases. Right now you have to do it manually by entering your DB container, until we automate it soon.</p>
|
||||
<p><a name="Usage"></a></p>
|
||||
|
||||
<h2 id="usage">Usage</h2>
|
||||
|
||||
@ -655,28 +658,37 @@ QUEUE_HOST=beanstalkd
|
||||
|
||||
<p><br></p>
|
||||
|
||||
<p>1 - Run Containers: <em>(Make sure you are in the <code>laradock</code> folder before running the <code>docker-compose</code> commands).</em></p>
|
||||
<p>1 - Enter the laradock folder and rename <code>env-example</code> to <code>.env</code></p>
|
||||
|
||||
<p><strong>Example:</strong> Running NGINX and MySQL:</p>
|
||||
<pre><code class="language-shell">cp env-example .env
|
||||
</code></pre>
|
||||
|
||||
<p>You can edit the <code>.env</code> file to chose which software’s you want to be installed in your environment. You can always refer to the <code>docker-compose.yml</code> file to see how those variables are been used.</p>
|
||||
|
||||
<p>2 - Build the enviroment and run it using <code>docker-compose</code></p>
|
||||
|
||||
<p>In this example we’ll see how to run NGINX (web server) and MySQL (database engine) to host a PHP Web Scripts:</p>
|
||||
|
||||
<pre><code class="language-bash">docker-compose up -d nginx mysql
|
||||
</code></pre>
|
||||
|
||||
<p><strong>Note</strong>: The <code>workspace</code> and <code>php-fpm</code> will run automatically in most of the cases, so no need to specify them in the <code>up</code> command. If you couldn’t find them running then you need specify them as follow: <code>docker-compose up -d nginx php-fpm mysql workspace</code>.</p>
|
||||
|
||||
<p>You can select your own combination of Containers form the list below:</p>
|
||||
<p>You can select your own combination of containers form the list below:</p>
|
||||
|
||||
<blockquote>
|
||||
<p><code>nginx</code>, <code>hhvm</code>, <code>php-fpm</code>, <code>mysql</code>, <code>redis</code>, <code>postgres</code>, <code>mariadb</code>, <code>neo4j</code>, <code>mongo</code>, <code>apache2</code>, <code>caddy</code>, <code>memcached</code>, <code>beanstalkd</code>, <code>beanstalkd-console</code>, <code>rabbitmq</code>, <code>beanstalkd-console</code>, <code>workspace</code>, <code>phpmyadmin</code>, <code>aerospike</code>, <code>pgadmin</code>, <code>elasticsearch</code>, <code>rethinkdb</code>, <code>postgres-postgis</code>, <code>certbot</code>, <code>mailhog</code>, <code>minio</code> and more…!</p>
|
||||
</blockquote>
|
||||
|
||||
<p><em>(Please note that sometimes we forget to update the docs, so check the <code>docker-compose.yml</code> file to see an updated list of all available containers).</em></p>
|
||||
|
||||
<p><br>
|
||||
2 - Enter the Workspace container, to execute commands like (Artisan, Composer, PHPUnit, Gulp, …).</p>
|
||||
3 - Enter the Workspace container, to execute commands like (Artisan, Composer, PHPUnit, Gulp, …)</p>
|
||||
|
||||
<pre><code class="language-bash">docker-compose exec workspace bash
|
||||
</code></pre>
|
||||
|
||||
<p>Alternatively, for Windows PowerShell users: execute the following command to enter any running container:</p>
|
||||
<p><em>Alternatively, for Windows PowerShell users: execute the following command to enter any running container:</em></p>
|
||||
|
||||
<pre><code class="language-bash">docker exec -it {workspace-container-id} bash
|
||||
</code></pre>
|
||||
@ -686,12 +698,12 @@ QUEUE_HOST=beanstalkd
|
||||
<pre><code class="language-shell">docker-compose exec --user=laradock workspace bash
|
||||
</code></pre>
|
||||
|
||||
<p><em>You can change the PUID (User id) and PGID (group id) variables from the <code>docker-compose.yml</code> or the <code>.env</code>)</em></p>
|
||||
<p><em>You can change the PUID (User id) and PGID (group id) variables from the <code>.env</code> file)</em></p>
|
||||
|
||||
<p><br>
|
||||
3 - Edit your project configurations.</p>
|
||||
4 - Update your project configurations to use the database host</p>
|
||||
|
||||
<p>Open your <code>.env</code> file and set the <code>DB_HOST</code> to <code>mysql</code>:</p>
|
||||
<p>Open your PHP project’s <code>.env</code> file or whichever configuration file you are reading from, and set the database host <code>DB_HOST</code> to <code>mysql</code>:</p>
|
||||
|
||||
<pre><code class="language-env">DB_HOST=mysql
|
||||
</code></pre>
|
||||
@ -699,7 +711,7 @@ QUEUE_HOST=beanstalkd
|
||||
<p><em>If you want to install Laravel as PHP project, see <a href="#Install-Laravel">How to Install Laravel in a Docker Container</a>.</em></p>
|
||||
|
||||
<p><br>
|
||||
4 - Open your browser and visit your localhost address <code>http://localhost/</code>.</p>
|
||||
5 - Open your browser and visit your localhost address <code>http://localhost/</code>. If you followed the multiple projects setup, you can visit <code>http://project-1.dev/</code> and <code>http://project-2.dev/</code>. But first don’t</p>
|
||||
|
||||
|
||||
<h1>Documentation </h1>
|
||||
@ -840,6 +852,11 @@ example for <code>mysql</code> it will be <code>mysql/Dockerfile</code>.</p>
|
||||
<pre><code class="language-bash">docker logs {container-name}
|
||||
</code></pre>
|
||||
|
||||
<p>More <a href="https://docs.docker.com/compose/reference/logs/">options</a></p>
|
||||
|
||||
<pre><code class="language-bash">docker logs -f {container-name}
|
||||
</code></pre>
|
||||
|
||||
<p><br>
|
||||
<a name="PHP"></a></p>
|
||||
|
||||
@ -1960,16 +1977,17 @@ features, by not reporting duplicate issues.</em></p>
|
||||
<p>Laradock uses <a href="https://gohugo.io/">Hugo</a> as website generator tool, with the <a href="http://themes.gohugo.io/theme/material-docs/">Material Docs theme</a>. You might need to check their docs quickly.</p>
|
||||
|
||||
<ol>
|
||||
<li>Install <a href="https://gohugo.io/">Hugo</a> on your machine (easy steps).</li>
|
||||
<li>Open the <code>DOCUMENTATION/_settings/content</code> and search for the markdown file you want to edit (every folder is a section in the menu).</li>
|
||||
<li>After done editing, run the this command <code>hugo</code> to generate the updated site inside the <code>docs</code> folder (It’s recommended to delete all files form the <code>/docs</code> folder, except the <code>CNAME</code> file, before running the <code>hugo</code> command).</li>
|
||||
<li>Install <a href="https://gohugo.io/">Hugo</a> on your machine (easy thing).</li>
|
||||
<li>Open the <code>DOCUMENTATION/_settings/content</code> and search for the markdown file you want to edit (every folder represents a section in the menu).</li>
|
||||
<li>Delete the <code>/docs</code> folder from the root.</li>
|
||||
<li>When you finish editing, run the <code>hugo</code> command to generate the HTML docs (in the <code>/docs</code>).</li>
|
||||
</ol>
|
||||
|
||||
<h4 id="to-host-the-website-locally">To Host the website locally</h4>
|
||||
<h3 id="to-host-the-website-locally">To Host the website locally</h3>
|
||||
|
||||
<p>Go to <code>DOCUMENTATION/_settings</code> in your terminal and run <code>hugo serve</code> to host the website locally.</p>
|
||||
|
||||
<h4 id="edit-the-sidebar">Edit the sidebar</h4>
|
||||
<h3 id="edit-the-sidebar">Edit the sidebar</h3>
|
||||
|
||||
<p>To add a new section to the sidebar or edit existing one, you need to edit this file <code>DOCUMENTATION/_settings/config.toml</code>.</p>
|
||||
|
||||
|
122
docs/index.xml
122
docs/index.xml
@ -251,10 +251,6 @@ QUEUE_HOST=beanstalkd
|
||||
|
||||
<h3 id="a-1-already-have-a-php-project">A.1) Already have a PHP project:</h3>
|
||||
|
||||
<blockquote>
|
||||
<p>(Follow these steps if you already have a PHP project, and all you need is an environment to run it)</p>
|
||||
</blockquote>
|
||||
|
||||
<p>1 - Clone laradock on your project root directory:</p>
|
||||
|
||||
<pre><code class="language-bash">git submodule add https://github.com/Laradock/laradock.git
|
||||
@ -270,20 +266,22 @@ QUEUE_HOST=beanstalkd
|
||||
|
||||
<p>Your folder structure should look like this:</p>
|
||||
|
||||
<pre><code>- project1
|
||||
- laradock
|
||||
- project2
|
||||
- laradock
|
||||
<pre><code>+ project-a
|
||||
+ laradock-a
|
||||
+ project-b
|
||||
+ laradock-b
|
||||
</code></pre>
|
||||
|
||||
<p>(It&rsquo;s important to rename the folders differently in each project.)</p>
|
||||
|
||||
<blockquote>
|
||||
<p><strong>Now jump to the <a href="#Usage">Usage</a> section.</strong></p>
|
||||
</blockquote>
|
||||
|
||||
<p><a name="A2"></a></p>
|
||||
|
||||
<h3 id="a-2-don-t-have-a-php-project-yet">A.2) Don&rsquo;t have a PHP project yet:</h3>
|
||||
|
||||
<blockquote>
|
||||
<p>(Follow these steps if you don&rsquo;t have a PHP project yet, and you need an environment to create the project)</p>
|
||||
</blockquote>
|
||||
|
||||
<p>1 - Clone this repository anywhere on your machine:</p>
|
||||
|
||||
<pre><code class="language-bash">git clone https://github.com/laradock/laradock.git
|
||||
@ -291,57 +289,62 @@ QUEUE_HOST=beanstalkd
|
||||
|
||||
<p>Your folder structure should look like this:</p>
|
||||
|
||||
<pre><code>- projects
|
||||
- laradock
|
||||
- myProject
|
||||
<pre><code>+ laradock
|
||||
+ project-z
|
||||
</code></pre>
|
||||
|
||||
<p>2 - Edit the <code>docker-compose.yml</code> file to map to your project directory once you have it (example: <code>- ../myProject:/var/www</code>).</p>
|
||||
<p>2 - Edit your web server sites configuration.</p>
|
||||
|
||||
<p>3 - Stop and re-run your docker-compose command for the changes to take place.</p>
|
||||
<p><strong>In case of NGINX:</strong> open <code>nginx/sites/default.conf</code> and change the <code>root</code> from <code>/var/www/public</code> to <code>/var/www/{my-project-folder-name}/public</code>.</p>
|
||||
|
||||
<pre><code>docker-compose stop &amp;&amp; docker-compose up -d XXXX YYYY ZZZZ ....
|
||||
</code></pre>
|
||||
<p><em>Or you can keep <code>default.conf</code> as it is, and create a separate config <code>my-site.conf</code> file for it.</em></p>
|
||||
|
||||
<p><strong>In case of Apache:</strong> :P
|
||||
<br></p>
|
||||
|
||||
<blockquote>
|
||||
<p><strong>Now jump to the <a href="#Usage">Usage</a> section.</strong></p>
|
||||
</blockquote>
|
||||
|
||||
<p><a name="B"></a></p>
|
||||
|
||||
<h3 id="b-setup-for-multiple-projects">B) Setup for Multiple Projects:</h3>
|
||||
|
||||
<blockquote>
|
||||
<p>(Follow these steps if you want a single Docker environment for all project)</p>
|
||||
<p>(Follow these steps if you want a single Docker environment for all your project)</p>
|
||||
</blockquote>
|
||||
|
||||
<p>1 - Clone this repository anywhere on your machine:</p>
|
||||
<p>1 - Clone this repository anywhere on your machine (similar to <a href="#A2">Steps A.2. from above</a>):</p>
|
||||
|
||||
<pre><code class="language-bash">git clone https://github.com/laradock/laradock.git
|
||||
</code></pre>
|
||||
|
||||
<p>2 - Edit the <code>docker-compose.yml</code> (or the <code>.env</code>) file to map to your projects directories:</p>
|
||||
<p>Your folder structure should look like this:</p>
|
||||
|
||||
<pre><code> applications:
|
||||
volumes:
|
||||
- ../project1/:/var/www/project1
|
||||
- ../project2/:/var/www/project2
|
||||
<pre><code>+ laradock
|
||||
+ project-1
|
||||
+ project-2
|
||||
</code></pre>
|
||||
|
||||
<p>3 - You can access all sites by visiting <code>http://localhost/project1/public</code> and <code>http://localhost/project2/public</code> but of course that&rsquo;s not very useful so let&rsquo;s setup NGINX quickly.</p>
|
||||
<p>2 - Go to <code>nginx/sites</code> and create config files to point to different project directory when visiting different domains.</p>
|
||||
|
||||
<p>4 - Go to <code>nginx/sites</code> and copy <code>sample.conf.example</code> to <code>project1.conf</code> then to <code>project2.conf</code></p>
|
||||
<p>Laradock by default includes <code>project-1.conf</code> and <code>project-2.conf</code> as working samples.</p>
|
||||
|
||||
<p>5 - Open the <code>project1.conf</code> file and edit the <code>server_name</code> and the <code>root</code> as follow:</p>
|
||||
<p>3 - change the default names <code>project-n</code>:</p>
|
||||
|
||||
<pre><code> server_name project1.dev;
|
||||
root /var/www/project1/public;
|
||||
<p>You can rename the config files, project folders and domains as you like, just make sure the <code>root</code> in the config files, is pointing to the correct project folder name.</p>
|
||||
|
||||
<p>4 - Add the domains to the <strong>hosts</strong> files.</p>
|
||||
|
||||
<pre><code>127.0.0.1 project-1.dev
|
||||
127.0.0.1 project-2.dev
|
||||
</code></pre>
|
||||
|
||||
<p>Do the same for each project <code>project2.conf</code>, <code>project3.conf</code>,&hellip;</p>
|
||||
<blockquote>
|
||||
<p><strong>Now jump to the <a href="#Usage">Usage</a> section.</strong></p>
|
||||
</blockquote>
|
||||
|
||||
<p>6 - Add the domains to the <strong>hosts</strong> files.</p>
|
||||
|
||||
<pre><code>127.0.0.1 project1.dev
|
||||
</code></pre>
|
||||
|
||||
<p>7 - Create your project Databases. Right now you have to do it manually by entering your DB container, until we automate it soon.</p>
|
||||
<p><a name="Usage"></a></p>
|
||||
|
||||
<h2 id="usage">Usage</h2>
|
||||
|
||||
@ -362,28 +365,37 @@ QUEUE_HOST=beanstalkd
|
||||
|
||||
<p><br></p>
|
||||
|
||||
<p>1 - Run Containers: <em>(Make sure you are in the <code>laradock</code> folder before running the <code>docker-compose</code> commands).</em></p>
|
||||
<p>1 - Enter the laradock folder and rename <code>env-example</code> to <code>.env</code></p>
|
||||
|
||||
<p><strong>Example:</strong> Running NGINX and MySQL:</p>
|
||||
<pre><code class="language-shell">cp env-example .env
|
||||
</code></pre>
|
||||
|
||||
<p>You can edit the <code>.env</code> file to chose which software&rsquo;s you want to be installed in your environment. You can always refer to the <code>docker-compose.yml</code> file to see how those variables are been used.</p>
|
||||
|
||||
<p>2 - Build the enviroment and run it using <code>docker-compose</code></p>
|
||||
|
||||
<p>In this example we&rsquo;ll see how to run NGINX (web server) and MySQL (database engine) to host a PHP Web Scripts:</p>
|
||||
|
||||
<pre><code class="language-bash">docker-compose up -d nginx mysql
|
||||
</code></pre>
|
||||
|
||||
<p><strong>Note</strong>: The <code>workspace</code> and <code>php-fpm</code> will run automatically in most of the cases, so no need to specify them in the <code>up</code> command. If you couldn&rsquo;t find them running then you need specify them as follow: <code>docker-compose up -d nginx php-fpm mysql workspace</code>.</p>
|
||||
|
||||
<p>You can select your own combination of Containers form the list below:</p>
|
||||
<p>You can select your own combination of containers form the list below:</p>
|
||||
|
||||
<blockquote>
|
||||
<p><code>nginx</code>, <code>hhvm</code>, <code>php-fpm</code>, <code>mysql</code>, <code>redis</code>, <code>postgres</code>, <code>mariadb</code>, <code>neo4j</code>, <code>mongo</code>, <code>apache2</code>, <code>caddy</code>, <code>memcached</code>, <code>beanstalkd</code>, <code>beanstalkd-console</code>, <code>rabbitmq</code>, <code>beanstalkd-console</code>, <code>workspace</code>, <code>phpmyadmin</code>, <code>aerospike</code>, <code>pgadmin</code>, <code>elasticsearch</code>, <code>rethinkdb</code>, <code>postgres-postgis</code>, <code>certbot</code>, <code>mailhog</code>, <code>minio</code> and more&hellip;!</p>
|
||||
</blockquote>
|
||||
|
||||
<p><em>(Please note that sometimes we forget to update the docs, so check the <code>docker-compose.yml</code> file to see an updated list of all available containers).</em></p>
|
||||
|
||||
<p><br>
|
||||
2 - Enter the Workspace container, to execute commands like (Artisan, Composer, PHPUnit, Gulp, &hellip;).</p>
|
||||
3 - Enter the Workspace container, to execute commands like (Artisan, Composer, PHPUnit, Gulp, &hellip;)</p>
|
||||
|
||||
<pre><code class="language-bash">docker-compose exec workspace bash
|
||||
</code></pre>
|
||||
|
||||
<p>Alternatively, for Windows PowerShell users: execute the following command to enter any running container:</p>
|
||||
<p><em>Alternatively, for Windows PowerShell users: execute the following command to enter any running container:</em></p>
|
||||
|
||||
<pre><code class="language-bash">docker exec -it {workspace-container-id} bash
|
||||
</code></pre>
|
||||
@ -393,12 +405,12 @@ QUEUE_HOST=beanstalkd
|
||||
<pre><code class="language-shell">docker-compose exec --user=laradock workspace bash
|
||||
</code></pre>
|
||||
|
||||
<p><em>You can change the PUID (User id) and PGID (group id) variables from the <code>docker-compose.yml</code> or the <code>.env</code>)</em></p>
|
||||
<p><em>You can change the PUID (User id) and PGID (group id) variables from the <code>.env</code> file)</em></p>
|
||||
|
||||
<p><br>
|
||||
3 - Edit your project configurations.</p>
|
||||
4 - Update your project configurations to use the database host</p>
|
||||
|
||||
<p>Open your <code>.env</code> file and set the <code>DB_HOST</code> to <code>mysql</code>:</p>
|
||||
<p>Open your PHP project&rsquo;s <code>.env</code> file or whichever configuration file you are reading from, and set the database host <code>DB_HOST</code> to <code>mysql</code>:</p>
|
||||
|
||||
<pre><code class="language-env">DB_HOST=mysql
|
||||
</code></pre>
|
||||
@ -406,7 +418,7 @@ QUEUE_HOST=beanstalkd
|
||||
<p><em>If you want to install Laravel as PHP project, see <a href="#Install-Laravel">How to Install Laravel in a Docker Container</a>.</em></p>
|
||||
|
||||
<p><br>
|
||||
4 - Open your browser and visit your localhost address <code>http://localhost/</code>.</p>
|
||||
5 - Open your browser and visit your localhost address <code>http://localhost/</code>. If you followed the multiple projects setup, you can visit <code>http://project-1.dev/</code> and <code>http://project-2.dev/</code>. But first don&rsquo;t</p>
|
||||
</description>
|
||||
</item>
|
||||
|
||||
@ -552,6 +564,11 @@ example for <code>mysql</code> it will be <code>mysql/Dockerfi
|
||||
<pre><code class="language-bash">docker logs {container-name}
|
||||
</code></pre>
|
||||
|
||||
<p>More <a href="https://docs.docker.com/compose/reference/logs/">options</a></p>
|
||||
|
||||
<pre><code class="language-bash">docker logs -f {container-name}
|
||||
</code></pre>
|
||||
|
||||
<p><br>
|
||||
<a name="PHP"></a></p>
|
||||
|
||||
@ -1687,16 +1704,17 @@ features, by not reporting duplicate issues.</em></p>
|
||||
<p>Laradock uses <a href="https://gohugo.io/">Hugo</a> as website generator tool, with the <a href="http://themes.gohugo.io/theme/material-docs/">Material Docs theme</a>. You might need to check their docs quickly.</p>
|
||||
|
||||
<ol>
|
||||
<li>Install <a href="https://gohugo.io/">Hugo</a> on your machine (easy steps).</li>
|
||||
<li>Open the <code>DOCUMENTATION/_settings/content</code> and search for the markdown file you want to edit (every folder is a section in the menu).</li>
|
||||
<li>After done editing, run the this command <code>hugo</code> to generate the updated site inside the <code>docs</code> folder (It&rsquo;s recommended to delete all files form the <code>/docs</code> folder, except the <code>CNAME</code> file, before running the <code>hugo</code> command).</li>
|
||||
<li>Install <a href="https://gohugo.io/">Hugo</a> on your machine (easy thing).</li>
|
||||
<li>Open the <code>DOCUMENTATION/_settings/content</code> and search for the markdown file you want to edit (every folder represents a section in the menu).</li>
|
||||
<li>Delete the <code>/docs</code> folder from the root.</li>
|
||||
<li>When you finish editing, run the <code>hugo</code> command to generate the HTML docs (in the <code>/docs</code>).</li>
|
||||
</ol>
|
||||
|
||||
<h4 id="to-host-the-website-locally">To Host the website locally</h4>
|
||||
<h3 id="to-host-the-website-locally">To Host the website locally</h3>
|
||||
|
||||
<p>Go to <code>DOCUMENTATION/_settings</code> in your terminal and run <code>hugo serve</code> to host the website locally.</p>
|
||||
|
||||
<h4 id="edit-the-sidebar">Edit the sidebar</h4>
|
||||
<h3 id="edit-the-sidebar">Edit the sidebar</h3>
|
||||
|
||||
<p>To add a new section to the sidebar or edit existing one, you need to edit this file <code>DOCUMENTATION/_settings/config.toml</code>.</p>
|
||||
|
||||
|
@ -1,6 +1,5 @@
|
||||
### Application
|
||||
# Point to your application code, wish should be available at `/var/www`
|
||||
APPLICATION_1=../
|
||||
|
||||
### PHP version (Does not apply for HHVM)
|
||||
# PHP_VERSION=55
|
||||
@ -46,10 +45,11 @@ PHP_FPM_INSTALL_EXIF=false
|
||||
PHP_FPM_INSTALL_AEROSPIKE_EXTENSION=false
|
||||
PHP_FPM_INSTALL_MYSQLI=false
|
||||
PHP_FPM_INSTALL_TOKENIZER=false
|
||||
PHP_FPM_INSTALL_INTL=false
|
||||
|
||||
### NGINX Container
|
||||
NGINX_HOST_HTTP_PORT=80
|
||||
NGINX_HOST_HTTPS_PORT=433
|
||||
NGINX_HOST_HTTPS_PORT=443
|
||||
NGINX_HOST_LOG_PATH=./logs/nginx/
|
||||
NGINX_SITES_PATH=./nginx/sites/
|
||||
|
||||
|
2
nginx/sites/.gitignore
vendored
2
nginx/sites/.gitignore
vendored
@ -1,2 +1,2 @@
|
||||
*.conf
|
||||
!default.conf
|
||||
!default.conf
|
@ -3,7 +3,7 @@ server {
|
||||
listen 80 default_server;
|
||||
listen [::]:80 default_server ipv6only=on;
|
||||
|
||||
server_name laradock;
|
||||
server_name locahost;
|
||||
root /var/www/public;
|
||||
index index.php index.html index.htm;
|
||||
|
||||
|
@ -3,8 +3,8 @@ server {
|
||||
listen 80;
|
||||
listen [::]:80;
|
||||
|
||||
server_name sample.dev;
|
||||
root /var/www/sample/public;
|
||||
server_name project-1.dev;
|
||||
root /var/www/project-1/public;
|
||||
index index.php index.html index.htm;
|
||||
|
||||
location / {
|
||||
@ -15,6 +15,8 @@ server {
|
||||
try_files $uri /index.php =404;
|
||||
fastcgi_pass php-upstream;
|
||||
fastcgi_index index.php;
|
||||
fastcgi_buffers 16 16k;
|
||||
fastcgi_buffer_size 32k;
|
||||
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
|
||||
include fastcgi_params;
|
||||
}
|
||||
@ -22,6 +24,11 @@ server {
|
||||
location ~ /\.ht {
|
||||
deny all;
|
||||
}
|
||||
|
||||
location /.well-known/acme-challenge/ {
|
||||
root /var/www/letsencrypt/;
|
||||
log_not_found off;
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -1,14 +1,10 @@
|
||||
server {
|
||||
|
||||
listen 443 default_server;
|
||||
listen [::]:443 default_server ipv6only=on;
|
||||
listen 80;
|
||||
listen [::]:80;
|
||||
|
||||
#ssl on;
|
||||
#ssl_certificate /var/certs/cert1.pem;
|
||||
#ssl_certificate_key /var/certs/privkey1.pem;
|
||||
|
||||
server_name laravel;
|
||||
root /var/www/laravel/public;
|
||||
server_name project-2.dev;
|
||||
root /var/www/project-2/public;
|
||||
index index.php index.html index.htm;
|
||||
|
||||
location / {
|
||||
@ -19,6 +15,8 @@ server {
|
||||
try_files $uri /index.php =404;
|
||||
fastcgi_pass php-upstream;
|
||||
fastcgi_index index.php;
|
||||
fastcgi_buffers 16 16k;
|
||||
fastcgi_buffer_size 32k;
|
||||
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
|
||||
include fastcgi_params;
|
||||
}
|
||||
@ -27,4 +25,11 @@ server {
|
||||
deny all;
|
||||
}
|
||||
|
||||
location /.well-known/acme-challenge/ {
|
||||
root /var/www/letsencrypt/;
|
||||
log_not_found off;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
@ -192,6 +192,18 @@ RUN if [ ${INSTALL_TOKENIZER} = true ]; then \
|
||||
docker-php-ext-install tokenizer \
|
||||
;fi
|
||||
|
||||
#####################################
|
||||
# Human Language and Character Encoding Support:
|
||||
#####################################
|
||||
|
||||
ARG INSTALL_INTL=false
|
||||
RUN if [ ${INSTALL_INTL} = true ]; then \
|
||||
# Install intl and requirements
|
||||
apt-get install -y zlib1g-dev libicu-dev g++ && \
|
||||
docker-php-ext-configure intl && \
|
||||
docker-php-ext-install intl \
|
||||
;fi
|
||||
|
||||
#####################################
|
||||
# GHOSTSCRIPT:
|
||||
#####################################
|
||||
|
@ -10,7 +10,7 @@
|
||||
# https://hub.docker.com/r/laradock/php-fpm/tags/
|
||||
#
|
||||
|
||||
FROM laradock/php-fpm:7.1--0.0 # placeholder. Need change after new image would be built.
|
||||
FROM laradock/php-fpm:7.1--1.3
|
||||
|
||||
MAINTAINER Mahmoud Zalt <mahmoud@zalt.me>
|
||||
|
||||
@ -140,6 +140,32 @@ RUN if [ ${CODEIGNITER} = true ]; then \
|
||||
docker-php-ext-install tokenizer \
|
||||
;fi
|
||||
|
||||
#####################################
|
||||
# Human Language and Character Encoding Support:
|
||||
#####################################
|
||||
|
||||
ARG INTL=false
|
||||
RUN if [ ${INTL} = true ]; then \
|
||||
# Install intl and requirements
|
||||
apt-get install -y zlib1g-dev libicu-dev g++ && \
|
||||
docker-php-ext-configure intl && \
|
||||
docker-php-ext-install intl \
|
||||
;fi
|
||||
|
||||
#####################################
|
||||
# GHOSTSCRIPT:
|
||||
#####################################
|
||||
|
||||
ARG GHOSTSCRIPT=false
|
||||
RUN if [ ${GHOSTSCRIPT} = true ]; then \
|
||||
# Install the ghostscript extension
|
||||
# for PDF editing
|
||||
apt-get -y update \
|
||||
&& apt-get install -y \
|
||||
poppler-utils \
|
||||
ghostscript \
|
||||
;fi
|
||||
|
||||
#
|
||||
#--------------------------------------------------------------------------
|
||||
# Final Touch
|
||||
|
39
php-worker/Dockerfile
Normal file
39
php-worker/Dockerfile
Normal file
@ -0,0 +1,39 @@
|
||||
#
|
||||
#--------------------------------------------------------------------------
|
||||
# Image Setup
|
||||
#--------------------------------------------------------------------------
|
||||
#
|
||||
# To take a look at the'php-worker' base Image, visit its DockerHub page
|
||||
# https://hub.docker.com/r/nielsvdoorn/laravel-supervisor/
|
||||
#
|
||||
|
||||
FROM nielsvdoorn/laravel-supervisor
|
||||
|
||||
#
|
||||
#--------------------------------------------------------------------------
|
||||
# Optional Supervisord Configuration
|
||||
#--------------------------------------------------------------------------
|
||||
#
|
||||
# Modify the ./supervisor.conf file to match your App's requirements.
|
||||
# Make sure you rebuild your container with every change.
|
||||
#
|
||||
COPY supervisord.conf /etc/supervisor/conf.d/supervisord.conf
|
||||
|
||||
#
|
||||
#--------------------------------------------------------------------------
|
||||
# Optional Software's Installation
|
||||
#--------------------------------------------------------------------------
|
||||
#
|
||||
# If you need to modify this image, feel free to do it right here.
|
||||
#
|
||||
# -- Your awesome modifications go here -- #
|
||||
|
||||
|
||||
#
|
||||
#--------------------------------------------------------------------------
|
||||
# Final Touch
|
||||
#--------------------------------------------------------------------------
|
||||
#
|
||||
|
||||
RUN rm -r /var/lib/apt/lists/*
|
||||
WORKDIR /etc/supervisor/conf.d/
|
9
php-worker/supervisord.conf
Normal file
9
php-worker/supervisord.conf
Normal file
@ -0,0 +1,9 @@
|
||||
[supervisord]
|
||||
nodaemon=true
|
||||
[program:laravel-worker]
|
||||
process_name=%(program_name)s_%(process_num)02d
|
||||
command=php /var/www/laravel/artisan queue:work --sleep=3 --tries=3 --daemon
|
||||
autostart=true
|
||||
autorestart=true
|
||||
numprocs=8
|
||||
redirect_stderr=true
|
Reference in New Issue
Block a user