diff --git a/.env-core/docs/5-doc-environment-options.MD b/.env-core/docs/5-doc-environment-options.MD new file mode 100644 index 0000000..1646d29 --- /dev/null +++ b/.env-core/docs/5-doc-environment-options.MD @@ -0,0 +1,74 @@ +### [Return to README.MD](../../README.MD#5-start-the-application) +---------------------------------- +
+ +## 5.5 Environment options: + +``` +1 - Nginx + + 1 - Setup Nginx container first time + + 2 - Stop container + + 3 - Start container + + 4 - Restart container + + 5 - Rebuild Nginx container + +2 - New project + + 1 - default + + 2 - custom + + 3 - beetroot + +3 - Existing project + + 1 - Docker actions + + 1 - Permanently remove project + + 2 - Stop container + + 3 - Start container + + 4 - Restart container + + 5 - Rebuild container + + 6 - Fix permissions + + 7 - Run composer.json + + 8 - Install composer package + + 2 - Database actions + + 1 - Update DB (import from backup file) + + 2 - Dump DB (export to backup file) + + 3 - Search-Replace + + 4 - Replace project from DB + + 3 - GIT actions + + 1 - Clone from repo + + 2 - Create GitHUB repo + + 3 - Create GitLAB repo + + 4 - List of exisiting projects + +4 - ENV settings + + 1 - ENV_UPDATES + + 2 - ENV_THEME + +``` \ No newline at end of file diff --git a/.env-core/docs/5-doc-new-php.MD b/.env-core/docs/5-doc-new-php.MD new file mode 100644 index 0000000..3ce5c63 --- /dev/null +++ b/.env-core/docs/5-doc-new-php.MD @@ -0,0 +1,20 @@ +### [Return to README.MD](../../README.MD#5-start-the-application) +---------------------------------- +
+ +## 5.4 Create new Simple PHP + +| Step | Option | Description | Example | | +|------|---------|---------------------------|----------------|---| +| 1 | 3 | Simple PHP | | | +| 2 | | Enter Domain Name | test | | +| 3 | | Enter DOMAIN_FULL | test.local | * | +| 4 | [y/n] | Is correct? | | | +| 5 | | Windows: Add to host file | | | + +*Variables has default value. + +
+ +---------------------------------- +### [Return to README.MD](../../README.MD) \ No newline at end of file diff --git a/.env-core/docs/5-doc-new-wordpress.MD b/.env-core/docs/5-doc-new-wordpress.MD new file mode 100644 index 0000000..ece5127 --- /dev/null +++ b/.env-core/docs/5-doc-new-wordpress.MD @@ -0,0 +1,86 @@ +### [Return to README.MD](../../README.MD#5-start-the-application) +---------------------------------- +
+ +# 5.2 Create new project Wordpress: + +
+ +## 5.2 Create new project [default] + +| Step | Option | Description | Example | | +|------|---------|---------------------------|----------------|---| +| 1 | 2 | New project | | | +| 2 | 1 | default | | | +| 3 | | Enter Domain Name | test | | +| 4 | | Enter DOMAIN_FULL | dev.test.local | * | +| 5 | [y/n] | Is correct? | | | +| 6 | [y/n] | Remove default content? | | | +| 7 | [y/n] | Clone project? | | | +| 8 | | Windows: Add to host file | | | + +*Variables has default value. + +
+ +## 5.2 Create new project [default] + +| Step | Option | Description | Example | | +|------|---------|---------------------------|----------------|---| +| 1 | 2 | New project | | | +| 2 | 1 | default | | | +| 3 | | Enter Domain Name | test | | +| 4 | | Enter DOMAIN_FULL | dev.test.local | * | +| 5 | [y/n] | Is correct? | | | +| 6 | [y/n] | Remove default content? | | | +| 7 | [y/n] | Clone project? | | | +| 8 | | Windows: Add to host file | | | + +*Variables has default value. + +
+ +## 5.3 Create new project [custom] + +| Step | Option | Description | Example | | +|------|---------|---------------------------|----------------|---| +| 1 | 2 | New project | | | +| 2 | 2 | custom | | | +| 3 | | Enter Domain Name | test | | +| 4 | | Enter DOMAIN_FULL | dev.test.local | * | +| 5 | | Enter DB_NAME | db | * | +| 6 | | Enter TABLE_PREFIX | wp_ | * | +| 7 | | Enter WP_VERSION | 5.8.3 | * | +| 8 | | Enter WP_USER | developer | * | +| 9 | | Enter WP_PASSWORD | 1 | * | +| 10 | | Enter PHP_VERSION | 8.0 | * | +| 11 | [y/n] | Is correct? | | | +| 12 | [y/n] | Remove default content? | | | +| 13 | [y/n] | Clone project? | | | +| 14 | | Windows: Add to host file | | | + +*Variables has default value. + +
+ +## 5.4 Create new project [beetroot] + +| Step | Option | Description | Example | | +|------|---------|---------------------------|----------------|---| +| 1 | 2 | New project | | | +| 2 | 3 | beetroot | | | +| 3 | | Enter Domain Name | test | | +| 4 | 1 | type? [default] [custom] | | | +| 5 | | Enter DOMAIN_FULL | test.local | * | +| 6 | [y/n] | Is correct? | | | +| 7 | [y/n] | Remove default content? | | | +| 8 | [y/n] | Clone project? | | | +| 9 | | Repo url | | | +| 10 | | Windows: Add to host file | | | + +*Variables has default value. + +
+ +---------------------------------- +### [Return to README.MD](../../README.MD) diff --git a/.env-core/docs/5-doc.MD b/.env-core/docs/5-doc.MD new file mode 100644 index 0000000..39c3fbd --- /dev/null +++ b/.env-core/docs/5-doc.MD @@ -0,0 +1,34 @@ +### [Return to README.MD](../../README.MD#5-start-the-application) +---------------------------------- +
+ +## 5.1 First setup + +Run from the command line: + +``` +./setup.sh +``` + +First of all you need to run Nginx server [option 1] + +| Step | Option | Description | +|------|--------|--------------------------| +| 1 | 1 | Nginx | +| 2 | 1 | Setup Nginx server | +| 3 | 0 | Return to main menu | + +
+ +## [5.2 Create new project Wordpress](./5-doc-new-wordpress.MD#52-create-new-project-wordpress) + +## [5.3 Create new project Bedrock](./5-doc-new-bedrock.MD#53-new-bedrock) + +## [5.4 Create new project Simple PHP](./5-doc-new-php.MD#5-new-bedrock) + +## [5.5 Environment options](./5-doc-environment-options.MD#5.5-environment-options) + +
+ +---------------------------------- +### [Return to README.MD](../../README.MD#5-start-the-application) diff --git a/.env-core/docs/6-doc.MD b/.env-core/docs/6-doc.MD new file mode 100644 index 0000000..3affbaf --- /dev/null +++ b/.env-core/docs/6-doc.MD @@ -0,0 +1,89 @@ +### [Return to README.MD](../../README.MD) +---------------------------------- + +
+ +# 6. How to: + +## 6.1 Install trusted certificates + + +``` +Certificates will be automatically created for all running instances. + +You need one time manually add root certs: +``` + + +| Step | Action | Description | +|------|-----------------------|-------------------------------------------| +| 1 | Open directory | env-core/nginx/certs-root/ | +| 2 | Rename file | rootCA.pem => rootCA.crt | +| 3 | Open certificate | rootCA.crt | +| 4 | Install certificate | [screen 1](./.env-core/docs/images/certs-1.jpg) | +| 5 | Choose store location | [screen 2](./.env-core/docs/images/certs-2.jpg) | +| 6 | Select store | [screen 3](./.env-core/docs/images/certs-3.jpg) | +| 7 | Import certificate | [screen 4](./.env-core/docs/images/certs-4.jpg) | +| 8 | Confirm install | [screen 5](./.env-core/docs/images/certs-5.jpg) | +| 9 | Restart browser | | + + +Tutorials how to setup: + +1. [Windows:](https://docs.microsoft.com/en-us/skype-sdk/sdn/articles/installing-the-trusted-root-certificate) Installing a trusted root certificate +2. [Mac:](https://support.securly.com/hc/en-us/articles/206058318-How-to-install-the-Securly-SSL-certificate-on-Mac-OSX-) How to install the Securly SSL certificate on Mac OSX + +### Don't forget to restart your browser ! + +If you reinstall the environment, you need to update the root certificates. + + +
+ +## 6.2 Add or remove a vhost + +``` +For Windows User + +Please remember to add or remove your domain in the Windows host file: + +1. Open file to edit [C:\Windows\System32\drivers\etc\hosts] + +2. Add line as an example: 127.0.0.1 dev.test.local + +3. Save file + +``` + +
+ +## 6.3 Database management tool + +``` +In this envinronment used Adminer database management tool. + +To access any database, all you need to do is visit its link through your browser. + +As an example: https://dev.test.local/adminer.php +``` + +Tutorials: + +1. [How to use Adminer](https://kinsta.com/blog/adminer/) + + +
+ +## 6.4 GIT +``` +An access token is used to automatically create repositories for project using the command line. +``` +Tutorials: + +1. [GitHub: Creating a personal access token](https://docs.github.com/en/enterprise-server@3.4/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token) +2. [GitLab: Creating a personal access token](https://docs.gitlab.com/ee/user/profile/personal_access_tokens.html) + +
+ +---------------------------------- +### [Return to README.MD](../../README.MD) diff --git a/.env-core/docs/images/certs-1.jpg b/.env-core/docs/images/certs-1.jpg new file mode 100644 index 0000000..49e4265 Binary files /dev/null and b/.env-core/docs/images/certs-1.jpg differ diff --git a/.env-core/docs/images/certs-2.jpg b/.env-core/docs/images/certs-2.jpg new file mode 100644 index 0000000..7500f43 Binary files /dev/null and b/.env-core/docs/images/certs-2.jpg differ diff --git a/.env-core/docs/images/certs-3.jpg b/.env-core/docs/images/certs-3.jpg new file mode 100644 index 0000000..724103f Binary files /dev/null and b/.env-core/docs/images/certs-3.jpg differ diff --git a/.env-core/docs/images/certs-4.jpg b/.env-core/docs/images/certs-4.jpg new file mode 100644 index 0000000..c42bce7 Binary files /dev/null and b/.env-core/docs/images/certs-4.jpg differ diff --git a/.env-core/docs/images/certs-5.jpg b/.env-core/docs/images/certs-5.jpg new file mode 100644 index 0000000..d5ac24d Binary files /dev/null and b/.env-core/docs/images/certs-5.jpg differ diff --git a/.env-core/docs/images/featured-new.png b/.env-core/docs/images/featured-new.png new file mode 100644 index 0000000..1e97c5e Binary files /dev/null and b/.env-core/docs/images/featured-new.png differ diff --git a/README.MD b/README.MD index 9853e34..43c4263 100755 --- a/README.MD +++ b/README.MD @@ -1,14 +1,29 @@

- devENV + devENV

-# Local Docker Wordpress CLI Development Environment -This environment was created to automate your local WordPress development. -
+

+ + GitHub release (latest by date) + +

+ +# Docker Local Environment + +This environment was created to automate your local development. + Spin up a local environment on Linux, Mac, and Windows using CLI.
+# Automatic installation for the following projects: + +- Wordpress +- Bedrock +- PHP simple + +
+ # 1. What's inside the containers

@@ -31,6 +46,10 @@ Spin up a local environment on Linux, Mac, and Windows using CLI. Adminer + + phpMyAdmin + + Mkcert @@ -56,14 +75,12 @@ Spin up a local environment on Linux, Mac, and Windows using CLI. | Nginx-proxy | Automated Nginx reverse proxy for docker containers | | Certificates | Automatic creation/renewal SSL certificates | | Logs | Follow log output for Nginx, WP instance | -| Projects | Auto-creat all instances for wp site | | PHP | Choose from active PHP version | -| Wordpress | Install the version you need or use the latest | +| Wordpress | Choose a version or use the latest | | Database | Database import and export, search-replace | | Composer | Install Composer inside container | -| Repository | Clone an existing theme from your Repository | -| GitHub | Create repo and push project | -| GitLab | Create repo and push project | +| GIT | Clone an existing theme, create repo and push | +| Archive | Archive an inactive project (can be restored) |
@@ -71,21 +88,32 @@ Spin up a local environment on Linux, Mac, and Windows using CLI. ``` ├── setup.sh # Run devENV -├── wp-instances.log # List of installed sites -├── env-core # devENV core files +├── .env-core # devENV core files | └── nginx # Nginx-proxy | └── sh # Bash scripts | └── templates # Global templates -└── projects # WordPress sites go here +| └── instances.log # List of installed sites +└── wordpress # WordPress sites go here +└── bedrock # Bedrock sites go here +└── php # PHP simple sites go here ```
-# [5. Start the application](./env-core/docs/5-doc.MD#5-start-the-application) +# [5. Start the application](./.env-core/docs/5-doc.MD#51-first-setup) + +## [5.1 First setup](./.env-core/docs/5-doc.MD#51-first-setup) + +## [5.2 Create new project Wordpress](./.env-core/docs/5-doc-new-wordpress.MD#52-create-new-project-wordpress) + +## [5.3 Create new project Bedrock](./.env-core/docs/5-doc-new-wordpress.MD#52-create-new-project-wordpress) + +## [5.4 Create new project Simple PHP](./.env-core/docs/5-doc-new-php.MD#54-create-new-simple-php) +## [5.5 Environment options](./.env-core/docs/5-doc-environment-options.MD#55-environment-options)
-# [6. How to](./env-core/docs/6-doc.MD#6-how-to) +# [6. How to](./.env-core/docs/6-doc.MD#6-how-to)