diff --git a/.editorconfig b/.editorconfig index 87ac0112..9a397cfc 100644 --- a/.editorconfig +++ b/.editorconfig @@ -9,4 +9,4 @@ charset = utf-8 [{Dockerfile,docker-compose.yml}] indent_style = space -indent_size = 4 +indent_size = 2 diff --git a/.gitignore b/.gitignore index b3403af6..a6b304c9 100644 --- a/.gitignore +++ b/.gitignore @@ -1,4 +1,5 @@ .idea /logs /data -.env \ No newline at end of file +.env +/.project \ No newline at end of file diff --git a/DOCUMENTATION/_settings/content/getting-started/index.md b/DOCUMENTATION/_settings/content/getting-started/index.md index 29eb1fa1..6324936d 100644 --- a/DOCUMENTATION/_settings/content/getting-started/index.md +++ b/DOCUMENTATION/_settings/content/getting-started/index.md @@ -82,6 +82,7 @@ Your folder structure should look like this: *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 +
diff --git a/docker-compose.yml b/docker-compose.yml index 4034dbdf..97c9e004 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -5,379 +5,376 @@ services: ### Applications Code Container ############################# applications: - image: tianon/true - volumes: - - ${APPLICATION}:/var/www + image: tianon/true + volumes: + - ${APPLICATION}:/var/www ### Workspace Utilities Container ########################### workspace: - build: - context: ./workspace - args: - - INSTALL_XDEBUG=${WORKSPACE_INSTALL_XDEBUG} - - INSTALL_SOAP=${WORKSPACE_INSTALL_SOAP} - - INSTALL_MONGO=${WORKSPACE_INSTALL_MONGO} - - INSTALL_NODE=${WORKSPACE_INSTALL_NODE} - - INSTALL_YARN=${WORKSPACE_INSTALL_YARN} - - INSTALL_DRUSH=${WORKSPACE_INSTALL_DRUSH} - - INSTALL_AEROSPIKE_EXTENSION=${WORKSPACE_INSTALL_AEROSPIKE_EXTENSION} - - INSTALL_V8JS_EXTENSION=${WORKSPACE_INSTALL_INSTALL_V8JS_EXTENSION} - - COMPOSER_GLOBAL_INSTALL=${WORKSPACE_COMPOSER_GLOBAL_INSTALL} - - INSTALL_WORKSPACE_SSH=${WORKSPACE_INSTALL_WORKSPACE_SSH} - - INSTALL_LARAVEL_ENVOY=${WORKSPACE_INSTALL_LARAVEL_ENVOY} - - INSTALL_DEPLOYER=${WORKSPACE_INSTALL_LARAVEL_ENVOY} - - INSTALL_LINUXBREW=${WORKSPACE_INSTALL_LARAVEL_ENVOY} - - INSTALL_MC=${WORKSPACE_INSTALL_MC} - - PUID=${WORKSPACE_PUID} - - PGID=${WORKSPACE_PGID} - - NODE_VERSION=${WORKSPACE_NODE_VERSION} - - YARN_VERSION=${WORKSPACE_YARN_VERSION} - - TZ=${WORKSPACE_TIMEZONE} - volumes_from: - - applications - extra_hosts: - - "dockerhost:${DOCKER_HOST_IP}" - ports: - - "${WORKSPACE_SSH_PORT}:22" - tty: true + build: + context: ./workspace + args: + - INSTALL_XDEBUG=${WORKSPACE_INSTALL_XDEBUG} + - INSTALL_SOAP=${WORKSPACE_INSTALL_SOAP} + - INSTALL_MONGO=${WORKSPACE_INSTALL_MONGO} + - INSTALL_NODE=${WORKSPACE_INSTALL_NODE} + - INSTALL_YARN=${WORKSPACE_INSTALL_YARN} + - INSTALL_DRUSH=${WORKSPACE_INSTALL_DRUSH} + - INSTALL_AEROSPIKE_EXTENSION=${WORKSPACE_INSTALL_AEROSPIKE_EXTENSION} + - INSTALL_V8JS_EXTENSION=${WORKSPACE_INSTALL_INSTALL_V8JS_EXTENSION} + - COMPOSER_GLOBAL_INSTALL=${WORKSPACE_COMPOSER_GLOBAL_INSTALL} + - INSTALL_WORKSPACE_SSH=${WORKSPACE_INSTALL_WORKSPACE_SSH} + - INSTALL_LARAVEL_ENVOY=${WORKSPACE_INSTALL_LARAVEL_ENVOY} + - INSTALL_DEPLOYER=${WORKSPACE_INSTALL_LARAVEL_ENVOY} + - INSTALL_LINUXBREW=${WORKSPACE_INSTALL_LARAVEL_ENVOY} + - INSTALL_MC=${WORKSPACE_INSTALL_MC} + - PUID=${WORKSPACE_PUID} + - PGID=${WORKSPACE_PGID} + - NODE_VERSION=${WORKSPACE_NODE_VERSION} + - YARN_VERSION=${WORKSPACE_TIMEZONE} + - TZ=${WORKSPACE_TIMEZONE} + volumes_from: + - applications + extra_hosts: + - "dockerhost:${DOCKER_HOST_IP}" + ports: + - "${WORKSPACE_SSH_PORT}:22" + tty: true ### PHP-FPM Container ####################################### php-fpm: - build: - context: ./php-fpm - args: - - INSTALL_XDEBUG=${PHP_FPM_INSTALL_XDEBUG} - - INSTALL_SOAP=${PHP_FPM_INSTALL_SOAP} - - INSTALL_MONGO=${PHP_FPM_INSTALL_MONGO} - - INSTALL_ZIP_ARCHIVE=${PHP_FPM_INSTALL_ZIP_ARCHIVE} - - INSTALL_BCMATH=${PHP_FPM_INSTALL_BCMATH} - - INSTALL_PHPREDIS=${PHP_FPM_INSTALL_PHPREDIS} - - INSTALL_MEMCACHED=${PHP_FPM_INSTALL_MEMCACHED} - - INSTALL_OPCACHE=${PHP_FPM_INSTALL_OPCACHE} - - INSTALL_EXIF=${PHP_FPM_INSTALL_EXIF} - - 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 - expose: - - "9000" - depends_on: - - workspace - extra_hosts: - - "dockerhost:${DOCKER_HOST_IP}" - environment: - - PHP_IDE_CONFIG=${PHP_IDE_CONFIG} - + build: + context: ./php-fpm + args: + - INSTALL_XDEBUG=${PHP_FPM_INSTALL_XDEBUG} + - INSTALL_SOAP=${PHP_FPM_INSTALL_SOAP} + - INSTALL_MONGO=${PHP_FPM_INSTALL_MONGO} + - INSTALL_ZIP_ARCHIVE=${PHP_FPM_INSTALL_ZIP_ARCHIVE} + - INSTALL_BCMATH=${PHP_FPM_INSTALL_BCMATH} + - INSTALL_PHPREDIS=${PHP_FPM_INSTALL_PHPREDIS} + - INSTALL_MEMCACHED=${PHP_FPM_INSTALL_MEMCACHED} + - INSTALL_OPCACHE=${PHP_FPM_INSTALL_OPCACHE} + - INSTALL_EXIF=${PHP_FPM_INSTALL_EXIF} + - 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 + expose: + - "9000" + depends_on: + - workspace + extra_hosts: + - "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 + build: + context: ./php-worker + volumes_from: + - applications + depends_on: + - workspace ### Nginx Server Container ################################## nginx: - build: - context: ./nginx - args: - - PHP_UPSTREAM=php-fpm - volumes_from: - - applications - volumes: - - ${NGINX_HOST_LOG_PATH}:/var/log/nginx - - ${NGINX_SITES_PATH}:/etc/nginx/sites-available - ports: - - "${NGINX_HOST_HTTP_PORT}:80" - - "${NGINX_HOST_HTTPS_PORT}:443" - depends_on: - - php-fpm + build: + context: ./nginx + args: + - PHP_UPSTREAM=php-fpm + volumes_from: + - applications + volumes: + - ${NGINX_HOST_LOG_PATH}:/var/log/nginx + - ${NGINX_SITES_PATH}:/etc/nginx/sites-available + ports: + - "${NGINX_HOST_HTTP_PORT}:80" + - "${NGINX_HOST_HTTPS_PORT}:443" + depends_on: + - php-fpm ### Apache Server Container ################################# apache2: - build: - context: ./apache2 - args: - - PHP_SOCKET=${PHP_SOCKET} - volumes_from: - - 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" - depends_on: - - php-fpm + build: + context: ./apache2 + args: + - PHP_SOCKET=${PHP_SOCKET} + volumes_from: + - 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" + depends_on: + - php-fpm ### HHVM Container ########################################## hhvm: - build: ./hhvm - volumes_from: - - applications - expose: - - "9000" - depends_on: - - workspace + build: ./hhvm + volumes_from: + - applications + expose: + - "9000" + depends_on: + - workspace ### Minio Container ######################################### minio: - build: ./minio - volumes: - - minio:/export - ports: - - "${MINIO_PORT}:9000" - environment: - MINIO_ACCESS_KEY: access - MINIO_SECRET_KEY: secretkey + build: ./minio + volumes: + - minio:/export + ports: + - "${MINIO_PORT}:9000" + environment: + - MINIO_ACCESS_KEY=access + - MINIO_SECRET_KEY=secretkey ### MySQL Container ######################################### mysql: - build: - context: ./mysql - args: - - MYSQL_DATABASE=${MYSQL_DATABASE} - - MYSQL_USER=${MYSQL_USER} - - MYSQL_PASSWORD=${MYSQL_PASSWORD} - - MYSQL_ROOT_PASSWORD=${MYSQL_ROOT_PASSWORD} - volumes: - - mysql:/var/lib/mysql - ports: - - "${MYSQL_PORT}:3306" + build: + context: ./mysql + args: + - MYSQL_DATABASE=${MYSQL_DATABASE} + - MYSQL_USER=${MYSQL_USER} + - MYSQL_PASSWORD=${MYSQL_PASSWORD} + - MYSQL_ROOT_PASSWORD=${MYSQL_ROOT_PASSWORD} + volumes: + - mysql:/var/lib/mysql + ports: + - "${MYSQL_PORT}:3306" ### MariaDB Container ####################################### mariadb: - build: ./mariadb - volumes: - - mariadb:/var/lib/mysql - ports: - - "${MARIADB_PORT}:3306" - environment: - MYSQL_DATABASE: ${MARIADB_DATABASE} - MYSQL_USER: ${MARIADB_USER} - MYSQL_PASSWORD: ${MARIADB_PASSWORD} - MYSQL_ROOT_PASSWORD: ${MARIADB_PORT} + build: ./mariadb + volumes: + - mariadb:/var/lib/mysql + ports: + - "${MARIADB_PORT}:3306" + environment: + - MYSQL_DATABASE=${MARIADB_DATABASE} + - MYSQL_USER=${MARIADB_USER} + - MYSQL_PASSWORD=${MARIADB_PASSWORD} + - MYSQL_ROOT_PASSWORD=${MARIADB_PORT} ### PostgreSQL Container #################################### postgres: - build: ./postgres - volumes: - - postgres:/var/lib/postgresql/data - ports: - - "${POSTGRES_PORT}:5432" - environment: - POSTGRES_DB: ${POSTGRES_DB} - POSTGRES_USER: ${POSTGRES_USER} - POSTGRES_PASSWORD: ${POSTGRES_PASSWORD} + build: ./postgres + volumes: + - postgres:/var/lib/postgresql/data + ports: + - "${POSTGRES_PORT}:5432" + environment: + - POSTGRES_DB=${POSTGRES_DB} + - POSTGRES_USER=${POSTGRES_USER} + - POSTGRES_PASSWORD=${POSTGRES_PASSWORD} ### PostgreSQL PostGis Container ############################ postgres-postgis: - build: ./postgres-postgis - volumes: - - postgres:/var/lib/postgresql/data - ports: - - "${POSTGRES_PORT}:5432" - environment: - POSTGRES_DB: ${POSTGRES_DB} - POSTGRES_USER: ${POSTGRES_USER} - POSTGRES_PASSWORD: ${POSTGRES_PASSWORD} + build: ./postgres-postgis + volumes: + - postgres:/var/lib/postgresql/data + ports: + - "${POSTGRES_PORT}:5432" + environment: + - POSTGRES_DB=${POSTGRES_DB} + - POSTGRES_USER=${POSTGRES_USER} + - POSTGRES_PASSWORD=${POSTGRES_PASSWORD} ### Neo4j Container ######################################### neo4j: - build: ./neo4j - ports: - - "7474:7474" - - "1337:1337" - environment: - - NEO4J_AUTH=default:secret - volumes: - - neo4j:/var/lib/neo4j/data + build: ./neo4j + ports: + - "7474:7474" + - "1337:1337" + environment: + - NEO4J_AUTH=default:secret + volumes: + - neo4j:/var/lib/neo4j/data ### MongoDB Container ####################################### mongo: - build: ./mongo - ports: - - "27017:27017" - volumes: - - mongo:/data/db + build: ./mongo + ports: + - "27017:27017" + volumes: + - mongo:/data/db ### RethinkDB Container ####################################### rethinkdb: - build: ./rethinkdb - ports: - - "8090:8080" - volumes: - - rethinkdb:/data/rethinkdb_data + build: ./rethinkdb + ports: + - "8090:8080" + volumes: + - rethinkdb:/data/rethinkdb_data ### Redis Container ######################################### redis: - build: ./redis - volumes: - - redis:/data - ports: - - "6379:6379" + build: ./redis + volumes: + - redis:/data + ports: + - "6379:6379" ### Aerospike c Container ################################### aerospike: - build: ./aerospike - volumes_from: - - workspace - volumes: - - aerospike:/opt/aerospike/data - ports: - - "3000:3000" - - "3001:3001" - - "3002:3002" - - "3003:3003" - + build: ./aerospike + volumes_from: + - workspace + volumes: + - aerospike:/opt/aerospike/data + ports: + - "3000:3000" + - "3001:3001" + - "3002:3002" + - "3003:3003" ### Memcached Container ##################################### memcached: - build: ./memcached - volumes: - - memcached:/var/lib/memcached - ports: - - "${MEMCACHED_HOST_PORT}:11211" - depends_on: - - php-fpm + build: ./memcached + volumes: + - memcached:/var/lib/memcached + ports: + - "${MEMCACHED_HOST_PORT}:11211" + depends_on: + - php-fpm ### Beanstalkd Container #################################### beanstalkd: - build: ./beanstalkd - ports: - - "${BEANSTALKD_HOST_PORT}:11300" - privileged: true - depends_on: - - php-fpm + build: ./beanstalkd + ports: + - "${BEANSTALKD_HOST_PORT}:11300" + privileged: true + depends_on: + - php-fpm ### RabbitMQ Container ###################################### rabbitmq: - build: ./rabbitmq - ports: - - "${RABBITMQ_NODE_HOST_PORT}:5672" - - "${RABBITMQ_MANAGEMENT_HTTP_HOST_PORT}:15672" - - "${RABBITMQ_MANAGEMENT_HTTPS_HOST_PORT}:15671" - privileged: true - environment: - RABBITMQ_DEFAULT_USER: ${RABBITMQ_DEFAULT_USER} - RABBITMQ_DEFAULT_PASS: ${RABBITMQ_DEFAULT_PASS} - depends_on: - - php-fpm + build: ./rabbitmq + ports: + - "${RABBITMQ_NODE_HOST_PORT}:5672" + - "${RABBITMQ_MANAGEMENT_HTTP_HOST_PORT}:15672" + - "${RABBITMQ_MANAGEMENT_HTTPS_HOST_PORT}:15671" + privileged: true + environment: + - RABBITMQ_DEFAULT_USER=${RABBITMQ_DEFAULT_USER} + - RABBITMQ_DEFAULT_PASS=${RABBITMQ_DEFAULT_PASS} + depends_on: + - php-fpm ### Beanstalkd Console Container ############################ beanstalkd-console: - build: ./beanstalkd-console - ports: - - "2080:2080" - depends_on: - - beanstalkd + build: ./beanstalkd-console + ports: + - "2080:2080" + depends_on: + - beanstalkd ### Caddy Server Container ################################## caddy: - build: ./caddy - ports: - - "80:80" - - "443:443" - - "2015:2015" - volumes_from: - - applications - volumes: - - ./caddy/Caddyfile:/etc/Caddyfile - - ./logs/caddy:/var/log/caddy - - caddy:/root/.caddy - depends_on: - - php-fpm + build: ./caddy + ports: + - "80:80" + - "443:443" + - "2015:2015" + volumes_from: + - applications + volumes: + - ./caddy/Caddyfile:/etc/Caddyfile + - ./logs/caddy:/var/log/caddy + - caddy:/root/.caddy + depends_on: + - php-fpm ### phpMyAdmin Container #################################### phpmyadmin: - build: ./phpmyadmin - environment: - PMA_ARBITRARY: 1 - MYSQL_USER: ${PMA_USER} - MYSQL_PASSWORD: ${PMA_PASSWORD} - MYSQL_ROOT_PASSWORD: ${PMA_ROOT_PASSWORD} - ports: - - "${PMA_PORT}:80" - depends_on: - - "${PMA_DB_ENGINE}" + build: ./phpmyadmin + environment: + - PMA_ARBITRARY=1 + - MYSQL_USER=${PMA_USER} + - MYSQL_PASSWORD=${PMA_PASSWORD} + - MYSQL_ROOT_PASSWORD=${PMA_ROOT_PASSWORD} + ports: + - "${PMA_PORT}:80" + depends_on: + - "${PMA_DB_ENGINE}" ### pgAdmin Container ####################################### pgadmin: - build: ./pgadmin - ports: - - "5050:5050" - depends_on: - - postgres + build: ./pgadmin + ports: + - "5050:5050" + depends_on: + - postgres ### ElasticSearch Container ################################# elasticsearch: - build: ./elasticsearch - volumes: - - elasticsearch-data:/usr/share/elasticsearch/data - - elasticsearch-plugins:/usr/share/elasticsearch/plugins - ports: - - "${ELASTICSEARCH_HOST_HTTP_PORT}:9200" - - "${ELASTICSEARCH_HOST_TRANSPORT_PORT}:9300" - depends_on: - - php-fpm + build: ./elasticsearch + volumes: + - elasticsearch-data:/usr/share/elasticsearch/data + - elasticsearch-plugins:/usr/share/elasticsearch/plugins + ports: + - "${ELASTICSEARCH_HOST_HTTP_PORT}:9200" + - "${ELASTICSEARCH_HOST_TRANSPORT_PORT}:9300" + depends_on: + - php-fpm ### Certbot Container ################################## certbot: - build: - context: ./certbot - volumes: - - ./data/certbot/certs/:/var/certs - - ./certbot/letsencrypt/:/var/www/letsencrypt - environment: - CN: "fake.domain.com" - EMAIL: "fake.email@gmail.com" + build: + context: ./certbot + volumes: + - ./data/certbot/certs/:/var/certs + - ./certbot/letsencrypt/:/var/www/letsencrypt + environment: + - CN="fake.domain.com" + - EMAIL="fake.email@gmail.com" ### Mailhog Container ######################################### mailhog: - build: ./mailhog - ports: - - "1025:1025" - - "8025:8025" + build: ./mailhog + ports: + - "1025:1025" + - "8025:8025" ### Selenium Container ######################################### selenium: - build: ./selenium - ports: - - "${SELENIUM_PORT}:4444" - volumes: - - /dev/shm:/dev/shm + build: ./selenium + ports: + - "${SELENIUM_PORT}:4444" + volumes: + - /dev/shm:/dev/shm ### Volumes Setup ########################################### diff --git a/docs/getting-started/index.xml b/docs/getting-started/index.xml index 94ffd918..4bc7de31 100644 --- a/docs/getting-started/index.xml +++ b/docs/getting-started/index.xml @@ -217,6 +217,7 @@ <p><br> 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> + diff --git a/docs/index.html b/docs/index.html index d22a50f3..a03d9327 100644 --- a/docs/index.html +++ b/docs/index.html @@ -1949,7 +1949,6 @@ These Docker Compose projects have piqued our interest:

I have a Question/Problem

If you have questions about how to use Laradock, please direct your questions to the discussion on Gitter. If you believe your question could help others, then consider opening an Issue (it will be labeled as Question) And you can still seek help on Gitter for it.

-

I found an Issue

If have an issue or you found a typo in the documentation, you can help us by diff --git a/docs/index.xml b/docs/index.xml index 989d5026..9e685d9d 100644 --- a/docs/index.xml +++ b/docs/index.xml @@ -1713,7 +1713,6 @@ features, by not reporting duplicate issues.</em></p> <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> - <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> diff --git a/php-fpm/Dockerfile-70 b/php-fpm/Dockerfile-70 index 13f3bf30..aae59344 100644 --- a/php-fpm/Dockerfile-70 +++ b/php-fpm/Dockerfile-70 @@ -45,7 +45,7 @@ ARG INSTALL_SOAP=false RUN if [ ${INSTALL_SOAP} = true ]; then \ # Install the soap extension apt-get -y update && \ - apt-get -y install libxml2-dev php-soap && \ + apt-get -y install libxml2-dev php-soap && \ docker-php-ext-install soap \ ;fi