Lenverge v1
This commit is contained in:
		
							parent
							
								
									ad23896e5f
								
							
						
					
					
						commit
						3f1fe7ef5c
					
				@ -1,5 +1,5 @@
 | 
				
			|||||||
# ------------------------------------------------------------------
 | 
					# ------------------------------------------------------------------
 | 
				
			||||||
# Lenvi: Central Configuration for Your Development Environment
 | 
					# Lenverge: Central Configuration for Your Development Environment
 | 
				
			||||||
# ------------------------------------------------------------------
 | 
					# ------------------------------------------------------------------
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# ----------------------------------------------------------------------------------------
 | 
					# ----------------------------------------------------------------------------------------
 | 
				
			||||||
@ -8,13 +8,13 @@
 | 
				
			|||||||
# utilities:
 | 
					# utilities:
 | 
				
			||||||
#   phpmyadmin:
 | 
					#   phpmyadmin:
 | 
				
			||||||
#     enabled: false
 | 
					#     enabled: false
 | 
				
			||||||
#     domain: "pma.lenvi.local"  # Local domain (can be customized)
 | 
					#     domain: "pma.lenverge.local"  # Local domain (can be customized)
 | 
				
			||||||
#     php_version: "8.3"         # Must match one of your project's PHP versions
 | 
					#     php_version: "8.3"         # Must match one of your project's PHP versions
 | 
				
			||||||
#   redis:
 | 
					#   redis:
 | 
				
			||||||
#     enabled: false
 | 
					#     enabled: false
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# db_engine:
 | 
					# db_engine:
 | 
				
			||||||
#   Choose between mariadb, mysql, or postgresql. Lenvi will install and manage the correct service.
 | 
					#   Choose between mariadb, mysql, or postgresql. Lenverge will install and manage the correct service.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# db_credentials:
 | 
					# db_credentials:
 | 
				
			||||||
#   Used for all auto-provisioned databases.
 | 
					#   Used for all auto-provisioned databases.
 | 
				
			||||||
@ -34,7 +34,7 @@
 | 
				
			|||||||
utilities:
 | 
					utilities:
 | 
				
			||||||
  phpmyadmin:
 | 
					  phpmyadmin:
 | 
				
			||||||
    enabled: false
 | 
					    enabled: false
 | 
				
			||||||
    domain: "pma.lenvi.local"
 | 
					    domain: "pma.lenverge.local"
 | 
				
			||||||
    php_version: "8.3"
 | 
					    php_version: "8.3"
 | 
				
			||||||
  redis:
 | 
					  redis:
 | 
				
			||||||
    enabled: false
 | 
					    enabled: false
 | 
				
			||||||
@ -44,7 +44,7 @@ db_engine: "mariadb"
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
# 🔐 Database Credentials
 | 
					# 🔐 Database Credentials
 | 
				
			||||||
db_credentials:
 | 
					db_credentials:
 | 
				
			||||||
  user: "Lenvi"
 | 
					  user: "Lenverge"
 | 
				
			||||||
  password: "secret"
 | 
					  password: "secret"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# 🌐 Project Sites
 | 
					# 🌐 Project Sites
 | 
				
			||||||
@ -55,18 +55,18 @@ db_credentials:
 | 
				
			|||||||
sites:
 | 
					sites:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  - domain: mylaravelapp.local
 | 
					  - domain: mylaravelapp.local
 | 
				
			||||||
    project_root: /home/lenvi/projects/laravel
 | 
					    project_root: /home/lenverge/projects/laravel
 | 
				
			||||||
    document_root: /home/lenvi/projects/laravel/public
 | 
					    document_root: /home/lenverge/projects/laravel/public
 | 
				
			||||||
    php_version: "8.2"
 | 
					    php_version: "8.2"
 | 
				
			||||||
    database: "laravel_db"
 | 
					    database: "laravel_db"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  - domain: mylegacyapp.local
 | 
					  - domain: mylegacyapp.local
 | 
				
			||||||
    project_root: /home/lenvi/projects/legacy-site
 | 
					    project_root: /home/lenverge/projects/legacy-site
 | 
				
			||||||
    document_root: /home/lenvi/projects/legacy-site
 | 
					    document_root: /home/lenverge/projects/legacy-site
 | 
				
			||||||
    php_version: "8.0"
 | 
					    php_version: "8.0"
 | 
				
			||||||
    database: "legacy_db"
 | 
					    database: "legacy_db"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  - domain: simple.local
 | 
					  - domain: simple.local
 | 
				
			||||||
    project_root: /home/lenvi/projects/simple
 | 
					    project_root: /home/lenverge/projects/simple
 | 
				
			||||||
    document_root: /home/lenvi/projects/simple
 | 
					    document_root: /home/lenverge/projects/simple
 | 
				
			||||||
    php_version: "8.3"
 | 
					    php_version: "8.3"
 | 
				
			||||||
							
								
								
									
										60
									
								
								README.md
									
									
									
									
									
								
							
							
						
						
									
										60
									
								
								README.md
									
									
									
									
									
								
							@ -1,9 +1,11 @@
 | 
				
			|||||||
# Lenvi
 | 
					# Lenverge
 | 
				
			||||||
The name **Lenvi** stands for **L**aravel, **L**egacy, and **L**ightweight **Envi**ronment.
 | 
					Lenverge is a lightweight, Ansible-powered environment tool built for Laravel and legacy PHP projects. It delivers fast, VM-free provisioning directly on Ubuntu or WSL2 — ideal for modern apps and legacy codebases alike.
 | 
				
			||||||
It's a fast, simple alternative to tools like Homestead that uses Ansible to provision your local Ubuntu machine (or WSL2) directly, without the overhead of a virtual machine. True to its name, Lenvi is tailored to handle modern **L**aravel applications and complex **L**egacy PHP sites with ease, all while remaining incredibly **L**ightweight.
 | 
					
 | 
				
			||||||
 | 
					  > Lenverge comes from Laravel, Legacy, and Lightweight Environment — built for projects that sit on the verge of legacy and modern, and need a clean bridge.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
### Core Features
 | 
					### Core Features
 | 
				
			||||||
*   **No Virtual Machine:** Runs directly on Ubuntu 22.04+ (or WSL2 Ubuntu).
 | 
					*   **No Virtual Machine:** Runs directly on Ubuntu 22.04+ (or WSL2 Ubuntu).
 | 
				
			||||||
*   **Centralized Configuration:** Define your entire stack in one simple `Lenvi.yaml` file.
 | 
					*   **Centralized Configuration:** Define your entire stack in one simple `Lenverge.yaml` file.
 | 
				
			||||||
*   **Multi-PHP Ready:** Run different sites on different PHP versions simultaneously.
 | 
					*   **Multi-PHP Ready:** Run different sites on different PHP versions simultaneously.
 | 
				
			||||||
*   **Smart CLI Wrappers:** Automatically uses the correct PHP version for `php`, `composer`, and `artisan` commands based on your current project directory.
 | 
					*   **Smart CLI Wrappers:** Automatically uses the correct PHP version for `php`, `composer`, and `artisan` commands based on your current project directory.
 | 
				
			||||||
*   **Developer Utilities:** Easily enable tools like phpMyAdmin and Redis.
 | 
					*   **Developer Utilities:** Easily enable tools like phpMyAdmin and Redis.
 | 
				
			||||||
@ -25,19 +27,19 @@ It's a fast, simple alternative to tools like Homestead that uses Ansible to pro
 | 
				
			|||||||
### 1. Get the Code
 | 
					### 1. Get the Code
 | 
				
			||||||
Clone the repository to a convenient location, like your home directory.
 | 
					Clone the repository to a convenient location, like your home directory.
 | 
				
			||||||
```bash
 | 
					```bash
 | 
				
			||||||
git clone https://git.marmattheo.com/marito/Lenvi.git ~/Lenvi && cd ~/Lenvi
 | 
					git clone https://git.marmattheo.com/marito/Lenverge.git ~/Lenverge && cd ~/Lenverge
 | 
				
			||||||
```
 | 
					```
 | 
				
			||||||
### 2. Configure Your Environment (`Lenvi.yaml`)
 | 
					### 2. Configure Your Environment (`Lenverge.yaml`)
 | 
				
			||||||
This is the most important step. Open `Lenvi.yaml` and define your entire environment.
 | 
					This is the most important step. Open `Lenverge.yaml` and define your entire environment.
 | 
				
			||||||
```yaml
 | 
					```yaml
 | 
				
			||||||
# ------------------------------------------------------------------
 | 
					# ------------------------------------------------------------------
 | 
				
			||||||
# Lenvi: Central Configuration for Your Development Environment
 | 
					# Lenverge: Central Configuration for Your Development Environment
 | 
				
			||||||
# ------------------------------------------------------------------
 | 
					# ------------------------------------------------------------------
 | 
				
			||||||
# Optional developer utilities
 | 
					# Optional developer utilities
 | 
				
			||||||
utilities:
 | 
					utilities:
 | 
				
			||||||
  phpmyadmin:
 | 
					  phpmyadmin:
 | 
				
			||||||
    enabled: false
 | 
					    enabled: false
 | 
				
			||||||
    domain: "pma.lenvi.local"
 | 
					    domain: "pma.lenverge.local"
 | 
				
			||||||
    php_version: "8.2"
 | 
					    php_version: "8.2"
 | 
				
			||||||
  redis:
 | 
					  redis:
 | 
				
			||||||
    enabled: false
 | 
					    enabled: false
 | 
				
			||||||
@ -45,19 +47,19 @@ utilities:
 | 
				
			|||||||
db_engine: "mariadb"
 | 
					db_engine: "mariadb"
 | 
				
			||||||
# 2. Global Database Credentials
 | 
					# 2. Global Database Credentials
 | 
				
			||||||
db_credentials:
 | 
					db_credentials:
 | 
				
			||||||
  user: "Lenvi"
 | 
					  user: "Lenverge"
 | 
				
			||||||
  password: "secret"
 | 
					  password: "secret"
 | 
				
			||||||
# 3. Your Web Projects
 | 
					# 3. Your Web Projects
 | 
				
			||||||
sites:
 | 
					sites:
 | 
				
			||||||
  - domain: mylaravelapp.local
 | 
					  - domain: mylaravelapp.local
 | 
				
			||||||
    project_root: /home/lenvi/projects/laravel
 | 
					    project_root: /home/lenverge/projects/laravel
 | 
				
			||||||
    document_root: /home/lenvi/projects/laravel/public
 | 
					    document_root: /home/lenverge/projects/laravel/public
 | 
				
			||||||
    php_version: "8.2"
 | 
					    php_version: "8.2"
 | 
				
			||||||
    database: "laravel_db"
 | 
					    database: "laravel_db"
 | 
				
			||||||
```
 | 
					```
 | 
				
			||||||
**Key Configuration Options:**
 | 
					**Key Configuration Options:**
 | 
				
			||||||
*   **`utilities`**: Set `enabled: true` to install optional tools like `phpmyadmin` and `redis`.
 | 
					*   **`utilities`**: Set `enabled: true` to install optional tools like `phpmyadmin` and `redis`.
 | 
				
			||||||
*   **`db_engine`**: Choose between `mariadb`, `mysql`, or `postgresql`. Lenvi will install and manage the correct service.
 | 
					*   **`db_engine`**: Choose between `mariadb`, `mysql`, or `postgresql`. Lenverge will install and manage the correct service.
 | 
				
			||||||
*   **`sites`**: A list of all your projects.
 | 
					*   **`sites`**: A list of all your projects.
 | 
				
			||||||
    *   `domain`: The local domain name you'll use in the browser.
 | 
					    *   `domain`: The local domain name you'll use in the browser.
 | 
				
			||||||
    *   `project_root`: The base directory of your project (where `.git` or `composer.json` lives).
 | 
					    *   `project_root`: The base directory of your project (where `.git` or `composer.json` lives).
 | 
				
			||||||
@ -66,16 +68,16 @@ sites:
 | 
				
			|||||||
    *   `database`: (Optional) The name of the database to create for this site.
 | 
					    *   `database`: (Optional) The name of the database to create for this site.
 | 
				
			||||||
> **WSL Performance Tip:** For the best performance, keep your project files inside the WSL filesystem (e.g., `/home/user/projects`) rather than on the mounted Windows filesystem (e.g., `/mnt/c/Users/...`).
 | 
					> **WSL Performance Tip:** For the best performance, keep your project files inside the WSL filesystem (e.g., `/home/user/projects`) rather than on the mounted Windows filesystem (e.g., `/mnt/c/Users/...`).
 | 
				
			||||||
### 3. Run the Provisioning Script
 | 
					### 3. Run the Provisioning Script
 | 
				
			||||||
To set up or update your environment, use the simple `lenvi.sh` script.
 | 
					To set up or update your environment, use the simple `lenverge.sh` script.
 | 
				
			||||||
First, make the script executable (you only need to do this once):
 | 
					First, make the script executable (you only need to do this once):
 | 
				
			||||||
```bash
 | 
					```bash
 | 
				
			||||||
chmod +x lenvi.sh
 | 
					chmod +x lenverge.sh
 | 
				
			||||||
```
 | 
					```
 | 
				
			||||||
Now, run the script. It will handle everything for you and will prompt for your `sudo` password to perform the necessary system changes.
 | 
					Now, run the script. It will handle everything for you and will prompt for your `sudo` password to perform the necessary system changes.
 | 
				
			||||||
```bash
 | 
					```bash
 | 
				
			||||||
./lenvi.sh
 | 
					./lenverge.sh
 | 
				
			||||||
```
 | 
					```
 | 
				
			||||||
> **WSL Users:** The very first time you run this, the script may stop and ask you to restart WSL. This is a one-time setup step to fix file permissions. Follow the on-screen instructions, and then re-run `./lenvi.sh`.
 | 
					> **WSL Users:** The very first time you run this, the script may stop and ask you to restart WSL. This is a one-time setup step to fix file permissions. Follow the on-screen instructions, and then re-run `./lenverge.sh`.
 | 
				
			||||||
## Post-Installation
 | 
					## Post-Installation
 | 
				
			||||||
### 1. Update Your `hosts` File
 | 
					### 1. Update Your `hosts` File
 | 
				
			||||||
For your browser to access local domains, you must map them to your local machine.
 | 
					For your browser to access local domains, you must map them to your local machine.
 | 
				
			||||||
@ -84,24 +86,24 @@ For your browser to access local domains, you must map them to your local machin
 | 
				
			|||||||
    sudo nano /etc/hosts
 | 
					    sudo nano /etc/hosts
 | 
				
			||||||
    ```
 | 
					    ```
 | 
				
			||||||
*   **On Windows (for WSL):** Open **Notepad as an Administrator** and edit `C:\Windows\System32\drivers\etc\hosts`.
 | 
					*   **On Windows (for WSL):** Open **Notepad as an Administrator** and edit `C:\Windows\System32\drivers\etc\hosts`.
 | 
				
			||||||
Add an entry for each domain defined in `Lenvi.yaml`:
 | 
					Add an entry for each domain defined in `Lenverge.yaml`:
 | 
				
			||||||
```
 | 
					```
 | 
				
			||||||
127.0.0.1   mylaravelapp.local
 | 
					127.0.0.1   mylaravelapp.local
 | 
				
			||||||
# Add other project domains here
 | 
					# Add other project domains here
 | 
				
			||||||
# Add utility domains if enabled, e.g.:
 | 
					# Add utility domains if enabled, e.g.:
 | 
				
			||||||
# 127.0.0.1   pma.lenvi.local
 | 
					# 127.0.0.1   pma.lenverge.local
 | 
				
			||||||
```
 | 
					```
 | 
				
			||||||
### 2. Configure Your Application (`.env`)
 | 
					### 2. Configure Your Application (`.env`)
 | 
				
			||||||
Update your application's `.env` file to use the database credentials from `Lenvi.yaml`.
 | 
					Update your application's `.env` file to use the database credentials from `Lenverge.yaml`.
 | 
				
			||||||
**Example `.env` for `mylaravelapp.local` (MariaDB/MySQL):**
 | 
					**Example `.env` for `mylaravelapp.local` (MariaDB/MySQL):**
 | 
				
			||||||
```env
 | 
					```env
 | 
				
			||||||
DB_CONNECTION=mysql
 | 
					DB_CONNECTION=mysql
 | 
				
			||||||
DB_HOST=127.0.0.1
 | 
					DB_HOST=127.0.0.1
 | 
				
			||||||
DB_PORT=3306
 | 
					DB_PORT=3306
 | 
				
			||||||
DB_DATABASE=laravel_db
 | 
					DB_DATABASE=laravel_db
 | 
				
			||||||
DB_USERNAME=Lenvi
 | 
					DB_USERNAME=Lenverge
 | 
				
			||||||
DB_PASSWORD=secret
 | 
					DB_PASSWORD=secret
 | 
				
			||||||
# If you enabled Redis in Lenvi.yaml
 | 
					# If you enabled Redis in Lenverge.yaml
 | 
				
			||||||
REDIS_HOST=127.0.0.1
 | 
					REDIS_HOST=127.0.0.1
 | 
				
			||||||
REDIS_PASSWORD=null
 | 
					REDIS_PASSWORD=null
 | 
				
			||||||
REDIS_PORT=6379
 | 
					REDIS_PORT=6379
 | 
				
			||||||
@ -112,20 +114,20 @@ DB_CONNECTION=pgsql
 | 
				
			|||||||
DB_HOST=127.0.0.1
 | 
					DB_HOST=127.0.0.1
 | 
				
			||||||
DB_PORT=5432
 | 
					DB_PORT=5432
 | 
				
			||||||
DB_DATABASE=laravel_db_pg
 | 
					DB_DATABASE=laravel_db_pg
 | 
				
			||||||
DB_USERNAME=Lenvi
 | 
					DB_USERNAME=Lenverge
 | 
				
			||||||
DB_PASSWORD=secret
 | 
					DB_PASSWORD=secret
 | 
				
			||||||
```
 | 
					```
 | 
				
			||||||
### 3. Verify Your Setup
 | 
					### 3. Verify Your Setup
 | 
				
			||||||
*   **Web Access:** Open your browser and navigate to `http://mylaravelapp.local`.
 | 
					*   **Web Access:** Open your browser and navigate to `http://mylaravelapp.local`.
 | 
				
			||||||
*   **Smart PHP Version:** The `php`, `composer`, and `artisan` commands are context-aware.
 | 
					*   **Smart PHP Version:** The `php`, `composer`, and `artisan` commands are context-aware.
 | 
				
			||||||
    ```bash
 | 
					    ```bash
 | 
				
			||||||
    cd /home/lenvi/projects/laravel
 | 
					    cd /home/lenverge/projects/laravel
 | 
				
			||||||
    php --version # Will show the PHP version defined for this site
 | 
					    php --version # Will show the PHP version defined for this site
 | 
				
			||||||
    composer install
 | 
					    composer install
 | 
				
			||||||
    ```
 | 
					    ```
 | 
				
			||||||
## Daily Workflow
 | 
					## Daily Workflow
 | 
				
			||||||
Lenvi is designed to be declarative. To make any changes, simply edit `Lenvi.yaml` and re-run the provisioning script with `./lenvi.sh`.
 | 
					Lenverge is designed to be declarative. To make any changes, simply edit `Lenverge.yaml` and re-run the provisioning script with `./lenverge.sh`.
 | 
				
			||||||
*   **To Add a New Site:** Add a new entry to the `sites` list, update your `hosts` file, and run `./lenvi.sh`.
 | 
					*   **To Add a New Site:** Add a new entry to the `sites` list, update your `hosts` file, and run `./lenverge.sh`.
 | 
				
			||||||
*   **To Remove a Site:** Delete the site's block from `Lenvi.yaml`. When you re-run `./lenvi.sh`, Lenvi will automatically remove its Nginx configuration.
 | 
					*   **To Remove a Site:** Delete the site's block from `Lenverge.yaml`. When you re-run `./lenverge.sh`, Lenverge will automatically remove its Nginx configuration.
 | 
				
			||||||
*   **To Change a PHP Version:** Update the `php_version` for a site and run `./lenvi.sh`.
 | 
					*   **To Change a PHP Version:** Update the `php_version` for a site and run `./lenverge.sh`.
 | 
				
			||||||
*   **To Enable a Utility:** Set `enabled: true` for `phpmyadmin` or `redis`, update your `hosts` file if needed, and run `./lenvi.sh`.
 | 
					*   **To Enable a Utility:** Set `enabled: true` for `phpmyadmin` or `redis`, update your `hosts` file if needed, and run `./lenverge.sh`.
 | 
				
			||||||
@ -1,2 +1,2 @@
 | 
				
			|||||||
[lenvi_dev]
 | 
					[lenverge_dev]
 | 
				
			||||||
localhost ansible_connection=local
 | 
					localhost ansible_connection=local
 | 
				
			||||||
@ -1,6 +1,6 @@
 | 
				
			|||||||
#!/bin/bash
 | 
					#!/bin/bash
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# --- Lenvi Provisioning Script ---
 | 
					# --- Lenverge Provisioning Script ---
 | 
				
			||||||
# This script simplifies running the Ansible playbook, making it accessible
 | 
					# This script simplifies running the Ansible playbook, making it accessible
 | 
				
			||||||
# for users who are not familiar with Ansible.
 | 
					# for users who are not familiar with Ansible.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -10,8 +10,8 @@ chmod +x /home/$(whoami)
 | 
				
			|||||||
SCRIPT_DIR=$( cd -- "$( dirname -- "${BASH_SOURCE[0]}" )" &> /dev/null && pwd )
 | 
					SCRIPT_DIR=$( cd -- "$( dirname -- "${BASH_SOURCE[0]}" )" &> /dev/null && pwd )
 | 
				
			||||||
cd "$SCRIPT_DIR"
 | 
					cd "$SCRIPT_DIR"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
echo "▶️  Starting Lenvi Provisioning..."
 | 
					echo "▶️  Starting Lenverge Provisioning..."
 | 
				
			||||||
echo "    This will install/update services based on your Lenvi.yaml configuration."
 | 
					echo "    This will install/update services based on your Lenverge.yaml configuration."
 | 
				
			||||||
echo "    You will be prompted for your sudo password to make system changes."
 | 
					echo "    You will be prompted for your sudo password to make system changes."
 | 
				
			||||||
echo ""
 | 
					echo ""
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -19,12 +19,12 @@ echo ""
 | 
				
			|||||||
# The `if` statement checks the command's exit code to provide a clear success/failure message.
 | 
					# The `if` statement checks the command's exit code to provide a clear success/failure message.
 | 
				
			||||||
if ansible-playbook playbook.yml -i inventory --ask-become-pass; then
 | 
					if ansible-playbook playbook.yml -i inventory --ask-become-pass; then
 | 
				
			||||||
  echo ""
 | 
					  echo ""
 | 
				
			||||||
  echo "✅ Success! Your Lenvi environment has been provisioned."
 | 
					  echo "✅ Success! Your Lenverge environment has been provisioned."
 | 
				
			||||||
  echo "    Don't forget to update your hosts file if you added or changed site domains."
 | 
					  echo "    Don't forget to update your hosts file if you added or changed site domains."
 | 
				
			||||||
  echo ""
 | 
					  echo ""
 | 
				
			||||||
else
 | 
					else
 | 
				
			||||||
  echo ""
 | 
					  echo ""
 | 
				
			||||||
  echo "❌ Error: Lenvi provisioning failed." >&2
 | 
					  echo "❌ Error: Lenverge provisioning failed." >&2
 | 
				
			||||||
  echo "    Please review the Ansible output above to diagnose the issue." >&2
 | 
					  echo "    Please review the Ansible output above to diagnose the issue." >&2
 | 
				
			||||||
  exit 1
 | 
					  exit 1
 | 
				
			||||||
fi
 | 
					fi
 | 
				
			||||||
@ -1,10 +1,10 @@
 | 
				
			|||||||
---
 | 
					---
 | 
				
			||||||
- name: "Provision Lenvi Development Environment"
 | 
					- name: "Provision Lenverge Development Environment"
 | 
				
			||||||
  hosts: lenvi_dev
 | 
					  hosts: lenverge_dev
 | 
				
			||||||
  become: yes
 | 
					  become: yes
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  vars_files:
 | 
					  vars_files:
 | 
				
			||||||
    - Lenvi.yaml
 | 
					    - Lenverge.yaml
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  pre_tasks:
 | 
					  pre_tasks:
 | 
				
			||||||
    - name: "Gather a unique list of required PHP versions from sites"
 | 
					    - name: "Gather a unique list of required PHP versions from sites"
 | 
				
			||||||
 | 
				
			|||||||
@ -47,5 +47,5 @@
 | 
				
			|||||||
- name: "FOR WSL USER: This error is safe and intentional. Follow instructions below."
 | 
					- name: "FOR WSL USER: This error is safe and intentional. Follow instructions below."
 | 
				
			||||||
  ansible.builtin.fail:
 | 
					  ansible.builtin.fail:
 | 
				
			||||||
    msg: |
 | 
					    msg: |
 | 
				
			||||||
      ✅ ACTION REQUIRED: WSL Configuration was Updated! Lenvi has configured /etc/wsl.conf to fix file permissions. You MUST restart WSL for this change to take effect. Please perform the following steps: 1. Type 'logout' or 'exit' to exit WSL. 2. Run the command: wsl --shutdown 3. Wait a few seconds, then re-open your WSL terminal. 4. cd ~/Lenvi and Re-run ./lenvi.sh
 | 
					      ✅ ACTION REQUIRED: WSL Configuration was Updated! Lenverge has configured /etc/wsl.conf to fix file permissions. You MUST restart WSL for this change to take effect. Please perform the following steps: 1. Type 'logout' or 'exit' to exit WSL. 2. Run the command: wsl --shutdown 3. Wait a few seconds, then re-open your WSL terminal. 4. cd ~/Lenverge and Re-run ./lenverge.sh
 | 
				
			||||||
  when: wsl_conf_result.changed
 | 
					  when: wsl_conf_result.changed
 | 
				
			||||||
@ -80,7 +80,7 @@
 | 
				
			|||||||
    - db_engine != 'postgres'
 | 
					    - db_engine != 'postgres'
 | 
				
			||||||
    - "'postgresql' in ansible_facts.services"
 | 
					    - "'postgresql' in ansible_facts.services"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
- name: "Create the global Lenvi PostgreSQL user"
 | 
					- name: "Create the global Lenverge PostgreSQL user"
 | 
				
			||||||
  community.postgresql.postgresql_user:
 | 
					  community.postgresql.postgresql_user:
 | 
				
			||||||
    name: "{{ db_credentials.user }}"
 | 
					    name: "{{ db_credentials.user }}"
 | 
				
			||||||
    password: "{{ db_credentials.password }}"
 | 
					    password: "{{ db_credentials.password }}"
 | 
				
			||||||
@ -98,7 +98,7 @@
 | 
				
			|||||||
    state: present
 | 
					    state: present
 | 
				
			||||||
  when: db_engine == 'mariadb' or db_engine == 'mysql'
 | 
					  when: db_engine == 'mariadb' or db_engine == 'mysql'
 | 
				
			||||||
 | 
					
 | 
				
			||||||
- name: "Create the global Lenvi database user"
 | 
					- name: "Create the global Lenverge database user"
 | 
				
			||||||
  community.mysql.mysql_user:
 | 
					  community.mysql.mysql_user:
 | 
				
			||||||
    name: "{{ db_credentials.user }}"
 | 
					    name: "{{ db_credentials.user }}"
 | 
				
			||||||
    password: "{{ db_credentials.password }}"
 | 
					    password: "{{ db_credentials.password }}"
 | 
				
			||||||
 | 
				
			|||||||
@ -1,5 +1,5 @@
 | 
				
			|||||||
#!/bin/bash
 | 
					#!/bin/bash
 | 
				
			||||||
# Lenvi Smart Artisan Wrapper
 | 
					# Lenverge Smart Artisan Wrapper
 | 
				
			||||||
# This script executes 'artisan' with the project-specific PHP version.
 | 
					# This script executes 'artisan' with the project-specific PHP version.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# Find the php wrapper script which contains all the logic.
 | 
					# Find the php wrapper script which contains all the logic.
 | 
				
			||||||
 | 
				
			|||||||
@ -1,10 +1,10 @@
 | 
				
			|||||||
#!/bin/bash
 | 
					#!/bin/bash
 | 
				
			||||||
# Lenvi Smart PHP Wrapper
 | 
					# Lenverge Smart PHP Wrapper
 | 
				
			||||||
# This script executes any 'php' command with the project-specific PHP version.
 | 
					# This script executes any 'php' command with the project-specific PHP version.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
DEFAULT_PHP_BINARY="/usr/bin/php"
 | 
					DEFAULT_PHP_BINARY="/usr/bin/php"
 | 
				
			||||||
PHP_BINARY=""
 | 
					PHP_BINARY=""
 | 
				
			||||||
LENVI_CONFIG_FILE="{{ playbook_dir }}/Lenvi.yaml"
 | 
					LENVI_CONFIG_FILE="{{ playbook_dir }}/Lenverge.yaml"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
if [[ -f "$LENVI_CONFIG_FILE" ]]; then
 | 
					if [[ -f "$LENVI_CONFIG_FILE" ]]; then
 | 
				
			||||||
  CURRENT_PROJECT_ROOT=$(pwd)
 | 
					  CURRENT_PROJECT_ROOT=$(pwd)
 | 
				
			||||||
 | 
				
			|||||||
@ -11,7 +11,7 @@
 | 
				
			|||||||
    msg: |
 | 
					    msg: |
 | 
				
			||||||
      VALIDATION FAILED for site '{{ project.domain }}':
 | 
					      VALIDATION FAILED for site '{{ project.domain }}':
 | 
				
			||||||
      The project_root directory '{{ project.project_root }}' does not exist.
 | 
					      The project_root directory '{{ project.project_root }}' does not exist.
 | 
				
			||||||
      This path is required for Composer. Please create it or correct the path in Lenvi.yaml.
 | 
					      This path is required for Composer. Please create it or correct the path in Lenverge.yaml.
 | 
				
			||||||
  when: not project_root_stat.stat.exists or not project_root_stat.stat.isdir
 | 
					  when: not project_root_stat.stat.exists or not project_root_stat.stat.isdir
 | 
				
			||||||
 | 
					
 | 
				
			||||||
- name: "Validate that document root '{{ project.document_root }}' exists"
 | 
					- name: "Validate that document root '{{ project.document_root }}' exists"
 | 
				
			||||||
@ -24,7 +24,7 @@
 | 
				
			|||||||
    msg: |
 | 
					    msg: |
 | 
				
			||||||
      VALIDATION FAILED for site '{{ project.domain }}':
 | 
					      VALIDATION FAILED for site '{{ project.domain }}':
 | 
				
			||||||
      The document_root directory '{{ project.document_root }}' does not exist.
 | 
					      The document_root directory '{{ project.document_root }}' does not exist.
 | 
				
			||||||
      This path is required for Nginx. Please create it or correct the path in Lenvi.yaml.
 | 
					      This path is required for Nginx. Please create it or correct the path in Lenverge.yaml.
 | 
				
			||||||
  when: not document_root_stat.stat.exists or not document_root_stat.stat.isdir
 | 
					  when: not document_root_stat.stat.exists or not document_root_stat.stat.isdir
 | 
				
			||||||
 | 
					
 | 
				
			||||||
- name: "Check for an index file (index.php or index.html) in the document root"
 | 
					- name: "Check for an index file (index.php or index.html) in the document root"
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user