Compare commits

...

26 Commits

Author SHA1 Message Date
a3c66fdecf Merge pull request #1080 from zuohuadong/patch-6
use openssh-client not  openssh*
2017-08-08 09:03:55 +03:00
9b8eee6a98 Merge pull request #1079 from zuohuadong/patch-5
add demo and  use  caddy example for laravel
2017-08-08 09:03:18 +03:00
668acd66c1 use openssh-client not openssh*
https://hub.docker.com/r/abiosoft/caddy/~/dockerfile/
2017-08-08 11:36:16 +08:00
b25215684b add demo and use caddy example for laravel
https://github.com/caddyserver/examples/blob/master/laravel/Caddyfile
2017-08-08 11:33:42 +08:00
8e84fbbec2 add missing symfony and python to workspace and remove useless alias 2017-08-07 12:36:02 +03:00
1e650d8643 Merge branch 'master' of https://github.com/laradock/laradock into dev
* 'master' of https://github.com/laradock/laradock:
  update Install Symfony steps in the docs
  Update docker-compose.yml
  Update env-example
  Update Dockerfile-70
  fix rm error
2017-08-07 12:06:51 +03:00
4977b0f92f fix alias for phpunit to load from current directory 2017-08-07 12:06:11 +03:00
2082659fb1 update Install Symfony steps in the docs 2017-08-07 05:57:45 +03:00
1fe2df73e4 Merge pull request #1077 from hounded/master
Missing symfony variables in env-example and workspace. Added python as an option to workspace
2017-08-07 05:51:58 +03:00
05c7f9186a Update docker-compose.yml
Added missing symfony and python options to workspace
2017-08-07 08:47:53 +12:00
3801973b15 Update env-example
Added missing symfony install variable and added new python install variable
2017-08-07 08:45:25 +12:00
6d89424e91 Update Dockerfile-70
Add python option to workspace
2017-08-07 08:42:55 +12:00
b1c1e6e187 Merge pull request #1075 from bestlong/fix-php-worker-rm-error
fix php-worker build error
2017-08-04 15:45:48 +08:00
972bdd90a3 fix rm error
ERROR INFO:

Step 4/5 : RUN rm -r /var/lib/apt/lists/*
 ---> Running in 4a3aa49e0e6e
rm: can't remove '/var/lib/apt/lists/*': No such file or directory
ERROR: Service 'php-worker' failed to build: The command '/bin/sh -c rm -r /var/lib/apt/lists/*' returned a non-zero code: 1
2017-08-04 15:11:10 +08:00
2af40b0ba1 fix #970. remove the required public directory in the /var/www 2017-08-04 00:51:20 +03:00
5c0b8316b1 make the PHP_UPSTREAM config for NGINX and Apache identical 2017-08-04 00:50:20 +03:00
004e4354aa add more aliases and functions for better development in the workspace 2017-08-03 08:06:48 +03:00
d99cf73bf0 edit alias, use the phpunit of the project 2017-08-03 07:31:41 +03:00
a365425c73 Merge branch 'master' of github.com:laradock/laradock
* 'master' of github.com:laradock/laradock:
  format the readme.md file
  fix travis ci hugo job get "cannot create directory" error.
  fixed #1068
  update some `guide` format in the documentation
2017-08-01 22:12:59 +03:00
c836500488 add symfony, laravel and app nginx sites sampels 2017-08-01 22:12:43 +03:00
318ca3f81c format the readme.md file 2017-07-29 10:03:50 +03:00
82219ededb Merge pull request #1072 from bestlong/fix-travis-ci-hugo-job-failed
fix travis ci hugo job get "cannot create directory" error.
2017-07-28 00:23:18 +08:00
d6ff224b0d fix travis ci hugo job get "cannot create directory" error. 2017-07-27 23:45:18 +08:00
b1144bba7e Merge pull request #1069 from terryzwt/master
fixed #1068 drush need mysql-client installed
2017-07-26 20:08:03 +03:00
a590ed78ce fixed #1068 2017-07-26 13:15:12 +08:00
f852789720 update some guide format in the documentation 2017-07-26 03:27:24 +03:00
20 changed files with 315 additions and 129 deletions

28
.github/README.md vendored
View File

@ -1,12 +1,26 @@
![](https://s19.postimg.org/jblfytw9f/laradock-logo.jpg)
<p align="center">
<img src="https://s19.postimg.org/jblfytw9f/laradock-logo.jpg" alt="Laradock Logo"/>
</p>
[![Build Status](https://travis-ci.org/laradock/laradock.svg?branch=master)](https://travis-ci.org/laradock/laradock) [![GitHub issues](https://img.shields.io/github/issues/laradock/laradock.svg)](https://github.com/laradock/laradock/issues) [![GitHub forks](https://img.shields.io/github/forks/laradock/laradock.svg)](https://github.com/laradock/laradock/network) [![GitHub stars](https://img.shields.io/github/stars/laradock/laradock.svg)](https://github.com/laradock/laradock/stargazers) [![GitHub license](https://img.shields.io/badge/license-MIT-blue.svg)](https://raw.githubusercontent.com/laradock/laradock/master/LICENSE)
<p align="center">A Docker PHP development environment that facilitates running PHP Apps on Docker</p>
> Use Docker first and learn about it later.
<p align="center">
<a href="https://travis-ci.org/laradock/laradock"><img src="https://travis-ci.org/laradock/laradock.svg?branch=master" alt="Build status"></a>
<a href="https://github.com/laradock/laradock/stargazers"><img src="https://img.shields.io/github/stars/laradock/laradock.svg" alt="GitHub stars"></a>
<a href="https://github.com/laradock/laradock/network"><img src="https://img.shields.io/github/forks/laradock/laradock.svg" alt="GitHub forks"></a>
<a href="https://github.com/laradock/laradock/issues"><img src="https://img.shields.io/github/issues/laradock/laradock.svg" alt="GitHub issues"></a>
<a href="https://raw.githubusercontent.com/laradock/laradock/master/LICENSE"><img src="https://img.shields.io/badge/license-MIT-blue.svg" alt="GitHub license"></a>
<a href="http://laradock.io/contributing"><img src="https://img.shields.io/badge/contributions-welcome-brightgreen.svg?style=flat" alt="contributions welcome"></a>
</p>
A Docker PHP development environment that facilitates running **PHP** Apps on **Docker**.
<h4 align="center" style="color:#7d58c2">Use Docker First And Learn About It Later</h4>
[![forthebadge](http://forthebadge.com/images/badges/built-by-developers.svg)](http://zalt.me)
<p align="center">
<a href="https://zalt.me"><img src="http://forthebadge.com/images/badges/built-by-developers.svg" alt="forthebadge" width="240" ></a>
</p>
---
## Documentation
@ -14,8 +28,6 @@ A Docker PHP development environment that facilitates running **PHP** Apps on **
## Credits
**Maintainers:**
- [Mahmoud Zalt](https://github.com/Mahmoudz) @mahmoudz | [Twitter](https://twitter.com/Mahmoud_Zalt) | [Site](http://zalt.me)
- [Bo-Yi Wu](https://github.com/appleboy) @appleboy | [Twitter](https://twitter.com/appleboy)
- [Philippe Trépanier](https://github.com/philtrep) @philtrep
@ -31,4 +43,4 @@ A Docker PHP development environment that facilitates running **PHP** Apps on **
## License
[MIT License](https://github.com/laradock/laradock/blob/master/LICENSE) (MIT)
[MIT License](https://github.com/laradock/laradock/blob/master/LICENSE)

View File

@ -1021,9 +1021,18 @@ To install CodeIgniter 3 on Laradock all you have to do is the following simple
3 - Re-build your PHP-FPM Container `docker-compose build php-fpm`.
<a name="Install-Symfony"></a>
## Install Symfony
1 - Open the `.env` file and set `WORKSPACE_INSTALL_SYMFONY` to `true`.
2 - Run `docker-compose build workspace`, after the step above.
3 - The NGINX sites include a default config file for your Symfony project `symfony.conf.example`, so edit it and make sure the `root` is pointing to your project `web` directory.
4 - Run `docker-compose restart` if the container was already running, before the step above.
5 - Visit `symfony.dev`
<br>
<a name="Misc"></a>

View File

@ -112,9 +112,9 @@ Your folder structure should look like this:
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.
Laradock by default includes `app.conf.example`, `laravel.conf.example` and `symfony.conf.example` as working samples.
3 - change the default names `project-n`:
3 - change the default names `*.conf`:
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.
@ -123,6 +123,7 @@ You can rename the config files, project folders and domains as you like, just m
```
127.0.0.1 project-1.dev
127.0.0.1 project-2.dev
...
```
> **Now jump to the [Usage](#Usage) section.**

View File

@ -326,6 +326,7 @@ Set the following variables:
- `laradock/php-fpm/xdebug.ini`
Set the following variables:
```
xdebug.remote_autostart=1
xdebug.remote_enable=1
@ -336,34 +337,39 @@ xdebug.cli_color=1
<a name="InstallCleanHouse"></a>
### Need to clean house first?
Make sure you are starting with a clean state. For example, do you have other Laradock containers and images?
Here are a few things I use to clean things up.
- Delete all containers using `grep laradock_` on the names, see: [Remove all containers based on docker image name](https://linuxconfig.org/remove-all-containners-based-on-docker-image-name).
`docker ps -a | awk '{ print $1,$2 }' | grep laradock_ | awk '{print $1}' | xargs -I {} docker rm {}`
- Delete all images containing `laradock`.
`docker images | awk '{print $1,$2,$3}' | grep laradock_ | awk '{print $3}' | xargs -I {} docker rmi {}`
**Note:** This will only delete images that were built with `Laradock`, **NOT** `laradock/*` which are pulled down by `Laradock` such as `laradock/workspace`, etc.
**Note:** Some may fail with:
`Error response from daemon: conflict: unable to delete 3f38eaed93df (cannot be forced) - image has dependent child images`
- I added this to my `.bashrc` to remove orphaned images.
```
dclean() {
processes=`docker ps -q -f status=exited`
if [ -n "$processes" ]; thend
docker rm $processes
fi
images=`docker images -q -f dangling=true`
if [ -n "$images" ]; then
docker rmi $images
fi
}
```
```
dclean() {
processes=`docker ps -q -f status=exited`
if [ -n "$processes" ]; thend
docker rm $processes
fi
images=`docker images -q -f dangling=true`
if [ -n "$images" ]; then
docker rmi $images
fi
}
```
- If you frequently switch configurations for Laradock, you may find that adding the following and added to your `.bashrc` or equivalent useful:
```
# remove laravel* containers
# remove laravel_* images
@ -406,14 +412,14 @@ laradock_php-fpm_1 php-fpm Up 9000/tcp
laradock_volumes_data_1 true Exit 0
laradock_volumes_source_1 true Exit 0
laradock_workspace_1 /sbin/my_init Up 0.0.0.0:2222->22/tcp
```
<a name="enablePhpXdebug"></a>
## Enable xDebug on php-fpm
In a host terminal sitting in the laradock folder, run: `.php-fpm/xdebug status`
You should see something like the following:
```
xDebug status
laradock_php-fpm_1
@ -422,6 +428,7 @@ Copyright (c) 1997-2016 The PHP Group
Zend Engine v3.0.0, Copyright (c) 1998-2016 Zend Technologies
with Xdebug v2.4.1, Copyright (c) 2002-2016, by Derick Rethans
```
Other commands include `.php-fpm/xdebug start | stop`.
If you have enabled `xdebug=true` in `docker-compose.yml/php-fpm`, `xdebug` will already be running when
@ -430,6 +437,7 @@ If you have enabled `xdebug=true` in `docker-compose.yml/php-fpm`, `xdebug` will
<a name="InstallPHPStormConfigs"></a>
## PHPStorm Settings
- Here are some settings that are known to work:
- `Settings/BuildDeploymentConnection`
- ![Settings/BuildDeploymentConnection](/images/photos/PHPStorm/Settings/BuildDeploymentConnection.png)

View File

@ -2,15 +2,16 @@ FROM webdevops/apache:ubuntu-16.04
MAINTAINER Eric Pfeiffer <computerfr33k@users.noreply.github.com>
ARG PHP_SOCKET=php-fpm:9000
ARG PHP_UPSTREAM_CONTAINER=php-fpm
ARG PHP_UPSTREAM_PORT=9000
ENV WEB_PHP_SOCKET=$PHP_SOCKET
ENV WEB_PHP_SOCKET=${PHP_UPSTREAM_CONTAINER}:${PHP_UPSTREAM_PORT}
ENV WEB_DOCUMENT_ROOT=/var/www/public/
ENV WEB_DOCUMENT_ROOT=/var/www/
EXPOSE 80 443
WORKDIR /var/www/public/
WORKDIR /var/www/
COPY vhost.conf /etc/apache2/sites-enabled/vhost.conf

View File

@ -1,9 +1,9 @@
<VirtualHost *:80>
ServerName laradock.dev
DocumentRoot /var/www/public/
DocumentRoot /var/www/
Options Indexes FollowSymLinks
<Directory "/var/www/public/">
<Directory "/var/www/">
AllowOverride All
<IfVersion < 2.4>
Allow from all

View File

@ -1,28 +1,30 @@
# Docs: https://caddyserver.com/docs/caddyfile
0.0.0.0:80
root /var/www/public
fastcgi / php-fpm:9000 php {
index index.php
0.0.0.0:80 {
root /var/www/public
fastcgi / php-fpm:9000 php {
index index.php
}
# To handle .html extensions with laravel change ext to
# ext / .html
rewrite {
to {path} {path}/ /index.php?{query}
}
gzip
browse
log /var/log/caddy/access.log
errors /var/log/caddy/error.log
# Uncomment to enable TLS (HTTPS)
# Change the first list to listen on port 443 when enabling TLS
#tls self_signed
# To use Lets encrpt tls with a DNS provider uncomment these
# lines and change the provider as required
#tls {
# dns cloudflare
#}
}
# To handle .html extensions with laravel change ext to
# ext / .html
rewrite {
r .*
ext /
to /index.php?{query}
laradock.demo {
root /var/www/public
}
gzip
browse
log /var/log/caddy/access.log
errors /var/log/caddy/error.log
# Uncomment to enable TLS (HTTPS)
# Change the first list to listen on port 443 when enabling TLS
#tls self_signed
# To use Lets encrpt tls with a DNS provider uncomment these
# lines and change the provider as required
#tls {
# dns cloudflare
#}

View File

@ -1,15 +1,15 @@
FROM alpine:3.4
FROM alpine:3.5
MAINTAINER Eric Pfeiffer <computerfr33k@users.noreply.github.com>
ENV caddy_version=0.10.3
ENV caddy_version=0.10.5
ARG plugins=http.git
LABEL caddy_version="$caddy_version" architecture="amd64"
RUN apk update \
&& apk upgrade \
&& apk add tar curl git openssh
&& apk add --no-cache openssh-client git tar curl
RUN curl --silent --show-error --fail --location \
--header "Accept: application/tar+gzip, application/x-gzip, application/octet-stream" -o - \

View File

@ -32,6 +32,8 @@ services:
- INSTALL_DEPLOYER=${WORKSPACE_INSTALL_DEPLOYER}
- INSTALL_LINUXBREW=${WORKSPACE_INSTALL_LINUXBREW}
- INSTALL_MC=${WORKSPACE_INSTALL_MC}
- INSTALL_SYMFONY=${WORKSPACE_INSTALL_SYMFONY}
- INSTALL_PYTHON=${WORKSPACE_INSTALL_PYTHON}
- INSTALL_IMAGE_OPTIMIZERS=${WORKSPACE_INSTALL_IMAGE_OPTIMIZERS}
- PUID=${WORKSPACE_PUID}
- PGID=${WORKSPACE_PGID}
@ -107,13 +109,14 @@ services:
networks:
- backend
### Nginx Server Container ##################################
### NGINX Server Container ##################################
nginx:
build:
context: ./nginx
args:
- PHP_UPSTREAM=php-fpm
- PHP_UPSTREAM_CONTAINER=${NGINX_PHP_UPSTREAM_CONTAINER}
- PHP_UPSTREAM_PORT=${NGINX_PHP_UPSTREAM_PORT}
volumes_from:
- applications
volumes:
@ -146,7 +149,8 @@ services:
build:
context: ./apache2
args:
- PHP_SOCKET=${PHP_SOCKET}
- PHP_UPSTREAM_CONTAINER=${APACHE_PHP_UPSTREAM_CONTAINER}
- PHP_UPSTREAM_PORT=${APACHE_PHP_UPSTREAM_PORT}
volumes_from:
- applications
volumes:

View File

@ -45,6 +45,8 @@ WORKSPACE_INSTALL_LARAVEL_INSTALLER=false
WORKSPACE_INSTALL_DEPLOYER=false
WORKSPACE_INSTALL_LINUXBREW=false
WORKSPACE_INSTALL_MC=false
WORKSPACE_INSTALL_SYMFONY=false
WORKSPACE_INSTALL_PYTHON=false
WORKSPACE_INSTALL_IMAGE_OPTIMIZERS=false
WORKSPACE_PUID=1000
WORKSPACE_PGID=1000
@ -80,15 +82,17 @@ NGINX_HOST_HTTP_PORT=80
NGINX_HOST_HTTPS_PORT=443
NGINX_HOST_LOG_PATH=./logs/nginx/
NGINX_SITES_PATH=./nginx/sites/
NGINX_PHP_UPSTREAM_CONTAINER=php-fpm
NGINX_PHP_UPSTREAM_PORT=9000
### APACHE #############################################################################################################
APACHE_HOST_HTTP_PORT=80
APACHE_HOST_HTTPS_PORT=443
APACHE2_PHP_SOCKET=php-fpm:9000
APACHE_HOST_LOG_PATH=./logs/apache2
APACHE_SITES_PATH=./apache2/sites
PHP_SOCKET=php-fpm:9000
APACHE_PHP_UPSTREAM_CONTAINER=php-fpm
APACHE_PHP_UPSTREAM_PORT=9000
### MYSQL ##############################################################################################################

View File

@ -4,7 +4,8 @@ MAINTAINER Mahmoud Zalt <mahmoud@zalt.me>
ADD nginx.conf /etc/nginx/
ARG PHP_UPSTREAM=php-fpm
ARG PHP_UPSTREAM_CONTAINER=php-fpm
ARG PHP_UPSTREAM_PORT=9000
# fix a problem--#397, change application source from dl-cdn.alpinelinux.org to aliyun source.
RUN sed -i 's/dl-cdn.alpinelinux.org/mirrors.aliyun.com/' /etc/apk/repositories
@ -12,9 +13,11 @@ RUN sed -i 's/dl-cdn.alpinelinux.org/mirrors.aliyun.com/' /etc/apk/repositories
RUN apk update \
&& apk upgrade \
&& apk add --no-cache bash \
&& adduser -D -H -u 1000 -s /bin/bash www-data \
&& rm /etc/nginx/conf.d/default.conf \
&& echo "upstream php-upstream { server ${PHP_UPSTREAM}:9000; }" > /etc/nginx/conf.d/upstream.conf
&& adduser -D -H -u 1000 -s /bin/bash www-data
# Set upstream conf and remove the default conf
RUN echo "upstream php-upstream { server ${PHP_UPSTREAM_CONTAINER}:${PHP_UPSTREAM_PORT}; }" > /etc/nginx/conf.d/upstream.conf \
&& rm /etc/nginx/conf.d/default.conf
CMD ["nginx"]

View File

@ -3,8 +3,8 @@ server {
listen 80;
listen [::]:80;
server_name project-1.dev;
root /var/www/project-1/public;
server_name app.dev;
root /var/www/app;
index index.php index.html index.htm;
location / {
@ -29,4 +29,7 @@ server {
root /var/www/letsencrypt/;
log_not_found off;
}
error_log /var/log/nginx/app_error.log;
access_log /var/log/nginx/app_access.log;
}

View File

@ -3,8 +3,8 @@ server {
listen 80;
listen [::]:80;
server_name project-2.dev;
root /var/www/project-2/public;
server_name laravel.dev;
root /var/www/laravel/public;
index index.php index.html index.htm;
location / {
@ -29,4 +29,7 @@ server {
root /var/www/letsencrypt/;
log_not_found off;
}
error_log /var/log/nginx/laravel_error.log;
access_log /var/log/nginx/laravel_access.log;
}

View File

@ -0,0 +1,28 @@
server {
listen 80;
listen [::]:80;
server_name symfony.dev;
root /var/www/projects/symfony/web;
index index.php index.html index.htm;
location / {
try_files $uri @rewriteapp;
}
location @rewriteapp {
rewrite ^(.*)$ /app.php/$1 last;
}
location ~ ^/(app|app_dev|config)\.php(/|$) {
fastcgi_pass php-upstream;
fastcgi_split_path_info ^(.+\.php)(/.*)$;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param HTTPS off;
}
error_log /var/log/nginx/symfony_error.log;
access_log /var/log/nginx/symfony_access.log;
}

View File

@ -37,5 +37,4 @@ COPY supervisord.conf /etc/supervisor/conf.d/supervisord.conf
#--------------------------------------------------------------------------
#
RUN rm -r /var/lib/apt/lists/*
WORKDIR /etc/supervisor/conf.d/

View File

@ -26,7 +26,7 @@ if [ -n "${HUGO_VERSION}" ]; then
# Download hugo binary
curl -L https://github.com/spf13/hugo/releases/download/v$HUGO_VERSION/$HUGO_PACKAGE.tar.gz | tar xz
mkdir $HOME/bin
mkdir -p $HOME/bin
mv ./${HUGO_BIN}/${HUGO_BIN} $HOME/bin/hugo
# Remove existing docs

View File

@ -202,6 +202,8 @@ ENV DRUSH_VERSION 8.1.2
ARG INSTALL_DRUSH=false
ENV INSTALL_DRUSH ${INSTALL_DRUSH}
RUN if [ ${INSTALL_DRUSH} = true ]; then \
apt-get update -yqq && \
apt-get -y install mysql-client && \
# 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 && \
@ -317,14 +319,6 @@ USER laradock
RUN echo "" >> ~/.bashrc && \
echo 'export PATH="/var/www/vendor/bin:$PATH"' >> ~/.bashrc
#####################################
# Laravel Artisan Alias
#####################################
USER root
RUN echo "" >> ~/.bashrc && \
echo 'alias art="php artisan"' >> ~/.bashrc
#####################################
# Laravel Envoy:
#####################################
@ -440,6 +434,41 @@ RUN if [ ${INSTALL_IMAGE_OPTIMIZERS} = true ]; then \
USER laradock
#####################################
# Symfony:
#####################################
USER root
ARG INSTALL_SYMFONY=false
ENV INSTALL_SYMFONY ${INSTALL_SYMFONY}
RUN if [ ${INSTALL_SYMFONY} = true ]; then \
mkdir -p /usr/local/bin \
&& curl -LsS https://symfony.com/installer -o /usr/local/bin/symfony \
&& chmod a+x /usr/local/bin/symfony \
# Symfony 3 alias
&& echo 'alias dev="php bin/console -e=dev"' >> ~/.bashrc \
&& echo 'alias prod="php bin/console -e=prod"' >> ~/.bashrc \
# Symfony 2 alias
# && echo 'alias dev="php app/console -e=dev"' >> ~/.bashrc \
# && echo 'alias prod="php app/console -e=prod"' >> ~/.bashrc \
;fi
#####################################
# PYTHON:
#####################################
ARG INSTALL_PYTHON=false
ENV INSTALL_PYTHON ${INSTALL_PYTHON}
RUN if [ ${INSTALL_PYTHON} = true ]; then \
apt-get update \
&& apt-get -y install python python-pip python-dev build-essential \
&& pip install --upgrade pip \
&& pip install --upgrade virtualenv \
;fi
#
#--------------------------------------------------------------------------
# Final Touch

View File

@ -202,6 +202,8 @@ ENV DRUSH_VERSION 8.1.2
ARG INSTALL_DRUSH=false
ENV INSTALL_DRUSH ${INSTALL_DRUSH}
RUN if [ ${INSTALL_DRUSH} = true ]; then \
apt-get update -yqq && \
apt-get -y install mysql-client && \
# 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 && \
@ -334,14 +336,6 @@ USER laradock
RUN echo "" >> ~/.bashrc && \
echo 'export PATH="/var/www/vendor/bin:$PATH"' >> ~/.bashrc
#####################################
# Laravel Artisan Alias
#####################################
USER root
RUN echo "" >> ~/.bashrc && \
echo 'alias art="php artisan"' >> ~/.bashrc
#####################################
# Laravel Envoy:
#####################################
@ -508,6 +502,19 @@ RUN if [ ${INSTALL_MC} = true ]; then\
chmod +x /usr/local/bin/mc \
;fi
#####################################
# Image optimizers:
#####################################
USER root
ARG INSTALL_IMAGE_OPTIMIZERS=false
ENV INSTALL_IMAGE_OPTIMIZERS ${INSTALL_IMAGE_OPTIMIZERS}
RUN if [ ${INSTALL_IMAGE_OPTIMIZERS} = true ]; then \
apt-get install -y --force-yes jpegoptim optipng pngquant gifsicle && \
if [ ${INSTALL_NODE} = true ]; then \
. ~/.bashrc && npm install -g svgo \
;fi\
;fi
#####################################
# Symfony:
#####################################
@ -531,16 +538,16 @@ RUN if [ ${INSTALL_SYMFONY} = true ]; then \
;fi
#####################################
# Image optimizers:
# PYTHON:
#####################################
USER root
ARG INSTALL_IMAGE_OPTIMIZERS=false
ENV INSTALL_IMAGE_OPTIMIZERS ${INSTALL_IMAGE_OPTIMIZERS}
RUN if [ ${INSTALL_IMAGE_OPTIMIZERS} = true ]; then \
apt-get install -y --force-yes jpegoptim optipng pngquant gifsicle && \
if [ ${INSTALL_NODE} = true ]; then \
. ~/.bashrc && npm install -g svgo \
;fi\
ARG INSTALL_PYTHON=false
ENV INSTALL_PYTHON ${INSTALL_PYTHON}
RUN if [ ${INSTALL_PYTHON} = true ]; then \
apt-get update \
&& apt-get -y install python python-pip python-dev build-essential \
&& pip install --upgrade pip \
&& pip install --upgrade virtualenv \
;fi
#

View File

@ -199,6 +199,8 @@ ENV DRUSH_VERSION 8.1.2
ARG INSTALL_DRUSH=false
ENV INSTALL_DRUSH ${INSTALL_DRUSH}
RUN if [ ${INSTALL_DRUSH} = true ]; then \
apt-get update -yqq && \
apt-get -y install mysql-client && \
# 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 && \
@ -335,14 +337,6 @@ USER laradock
RUN echo "" >> ~/.bashrc && \
echo 'export PATH="/var/www/vendor/bin:$PATH"' >> ~/.bashrc
#####################################
# Laravel Artisan Alias
#####################################
USER root
RUN echo "" >> ~/.bashrc && \
echo 'alias art="php artisan"' >> ~/.bashrc
#####################################
# Laravel Envoy:
#####################################
@ -511,6 +505,21 @@ RUN if [ ${INSTALL_MC} = true ]; then\
chmod +x /usr/local/bin/mc \
;fi
#####################################
# Image optimizers:
#####################################
USER root
ARG INSTALL_IMAGE_OPTIMIZERS=false
ENV INSTALL_IMAGE_OPTIMIZERS ${INSTALL_IMAGE_OPTIMIZERS}
RUN if [ ${INSTALL_IMAGE_OPTIMIZERS} = true ]; then \
apt-get install -y --force-yes jpegoptim optipng pngquant gifsicle && \
if [ ${INSTALL_NODE} = true ]; then \
. ~/.bashrc && npm install -g svgo \
;fi\
;fi
USER laradock
#####################################
# Symfony:
#####################################
@ -534,19 +543,18 @@ RUN if [ ${INSTALL_SYMFONY} = true ]; then \
;fi
#####################################
# Image optimizers:
# PYTHON:
#####################################
USER root
ARG INSTALL_IMAGE_OPTIMIZERS=false
ENV INSTALL_IMAGE_OPTIMIZERS ${INSTALL_IMAGE_OPTIMIZERS}
RUN if [ ${INSTALL_IMAGE_OPTIMIZERS} = true ]; then \
apt-get install -y --force-yes jpegoptim optipng pngquant gifsicle && \
if [ ${INSTALL_NODE} = true ]; then \
. ~/.bashrc && npm install -g svgo \
;fi\
ARG INSTALL_PYTHON=false
ENV INSTALL_PYTHON ${INSTALL_PYTHON}
RUN if [ ${INSTALL_PYTHON} = true ]; then \
apt-get update \
&& apt-get -y install python python-pip python-dev build-essential \
&& pip install --upgrade pip \
&& pip install --upgrade virtualenv \
;fi
USER laradock
#
#--------------------------------------------------------------------------

View File

@ -10,23 +10,54 @@ COL_BLUE=$ESC_SEQ"34;01m"
COL_MAGENTA=$ESC_SEQ"35;01m"
COL_CYAN=$ESC_SEQ"36;01m"
# Detect which `ls` flavor is in use
if ls --color > /dev/null 2>&1; then # GNU `ls`
colorflag="--color"
export LS_COLORS='no=00:fi=00:di=01;31:ln=01;36:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=40;31;01:ex=01;32:*.tar=01;31:*.tgz=01;31:*.arj=01;31:*.taz=01;31:*.lzh=01;31:*.zip=01;31:*.z=01;31:*.Z=01;31:*.gz=01;31:*.bz2=01;31:*.deb=01;31:*.rpm=01;31:*.jar=01;31:*.jpg=01;35:*.jpeg=01;35:*.gif=01;35:*.bmp=01;35:*.pbm=01;35:*.pgm=01;35:*.ppm=01;35:*.tga=01;35:*.xbm=01;35:*.xpm=01;35:*.tif=01;35:*.tiff=01;35:*.png=01;35:*.mov=01;35:*.mpg=01;35:*.mpeg=01;35:*.avi=01;35:*.fli=01;35:*.gl=01;35:*.dl=01;35:*.xcf=01;35:*.xwd=01;35:*.ogg=01;35:*.mp3=01;35:*.wav=01;35:'
else # macOS `ls`
colorflag="-G"
export LSCOLORS='BxBxhxDxfxhxhxhxhxcxcx'
fi
# List all files colorized in long format
#alias l="ls -lF ${colorflag}"
### MEGA: I want l and la ti return hisdden files
alias l="ls -laF ${colorflag}"
# List all files colorized in long format, including dot files
alias la="ls -laF ${colorflag}"
# List only directories
alias lsd="ls -lF ${colorflag} | grep --color=never '^d'"
# Always use color output for `ls`
alias ls="command ls ${colorflag}"
# Commonly Used Aliases
alias ..="cd .."
alias ...="cd ../.."
alias ....="cd ../../.."
alias .....="cd ../../../.."
alias ~="cd ~" # `cd` is probably faster to type though
alias -- -="cd -"
alias home="cd ~"
alias h="history"
alias j="jobs"
alias e='exit'
alias c="clear"
alias cla="clear && ls -l"
alias cll="clear && ls -la"
alias cls="clear && ls"
alias code="cd /var/www"
alias ea="vi ~/aliases"
alias g="gulp"
alias home="cd ~"
alias npm-global="npm list -g --depth 0"
alias ra="reload"
alias reload="source ~/.aliases && echo \"$COL_GREEN ==> Aliases Reloaded... $COL_RESET \n \""
alias run="npm run"
alias tree="xtree"
# Laravel / PHP Alisases
# Always enable colored `grep` output
# Note: `GREP_OPTIONS="--color=auto"` is deprecated, hence the alias usage.
alias grep='grep --color=auto'
alias fgrep='fgrep --color=auto'
alias egrep='egrep --color=auto'
alias art="php artisan"
alias artisan="php artisan"
alias cdump="composer dump-autoload -o"
@ -34,18 +65,31 @@ alias composer:dump="composer dump-autoload -o"
alias db:reset="php artisan migrate:reset && php artisan migrate --seed"
alias migrate="php artisan migrate"
alias seed="php artisan:seed"
alias phpunit="./vendor/bin/phpunit"
alias phpunit="./vendor/bin/phpunit"
alias pu="phpunit"
alias puf="phpunit --filter"
alias pud='phpunit --debug'
alias cc='codecept'
alias ccb='codecept build'
alias ccr='codecept run'
alias ccu='codecept run unit'
alias ccf='codecept run functional'
alias g="gulp"
alias npm-global="npm list -g --depth 0"
alias ra="reload"
alias reload="source ~/.aliases && echo \"$COL_GREEN ==> Aliases Reloaded... $COL_RESET \n \""
alias run="npm run"
alias tree="xtree"
# requires installation of 'https://www.npmjs.com/package/npms-cli'
alias npms="npms search"
# requires installation of 'https://www.npmjs.com/package/package-menu-cli'
alias pm="package-menu"
# requires installation of 'https://www.npmjs.com/package/pkg-version-cli'
alias pv="package-version"
# requires installation of 'https://github.com/sindresorhus/latest-version-cli'
alias lv="latest-version"
@ -56,7 +100,6 @@ alias git-revert="git reset --hard && git clean -df"
alias gs="git status"
alias whoops="git reset --hard && git clean -df"
# Create a new directory and enter it
function mkd() {
mkdir -p "$@" && cd "$@"
@ -69,3 +112,25 @@ function md() {
function xtree {
find ${1:-.} -print | sed -e 's;[^/]*/;|____;g;s;____|; |;g'
}
# `tre` is a shorthand for `tree` with hidden files and color enabled, ignoring
# the `.git` directory, listing directories first. The output gets piped into
# `less` with options to preserve color and line numbers, unless the output is
# small enough for one screen.
function tre() {
tree -aC -I '.git|node_modules|bower_components' --dirsfirst "$@" | less -FRNX;
}
# Determine size of a file or total size of a directory
function fs() {
if du -b /dev/null > /dev/null 2>&1; then
local arg=-sbh;
else
local arg=-sh;
fi
if [[ -n "$@" ]]; then
du $arg -- "$@";
else
du $arg .[^.]* ./*;
fi;
}