redis as utility
This commit is contained in:
		
							parent
							
								
									ecd2f7aa61
								
							
						
					
					
						commit
						cd3aafe684
					
				
							
								
								
									
										24
									
								
								Lenvi.yaml
									
									
									
									
									
								
							
							
						
						
									
										24
									
								
								Lenvi.yaml
									
									
									
									
									
								
							@ -5,9 +5,11 @@
 | 
				
			|||||||
# Optional developer utilities
 | 
					# Optional developer utilities
 | 
				
			||||||
utilities:
 | 
					utilities:
 | 
				
			||||||
  phpmyadmin:
 | 
					  phpmyadmin:
 | 
				
			||||||
    enabled: true
 | 
					    enabled: false
 | 
				
			||||||
    domain: "pma.lenvi.local" # Or whatever you prefer
 | 
					    domain: "pma.lenvi.local" # Or whatever you prefer
 | 
				
			||||||
    php_version: "8.2"
 | 
					    php_version: "8.2" # This must be one of the php version/s you set on your sites/projects
 | 
				
			||||||
 | 
					  redis:
 | 
				
			||||||
 | 
					    enabled: false
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# 1. Set the global database engine.
 | 
					# 1. Set the global database engine.
 | 
				
			||||||
db_engine: "mariadb" # mariadb, mysql or postgresql
 | 
					db_engine: "mariadb" # mariadb, mysql or postgresql
 | 
				
			||||||
@ -20,23 +22,25 @@ db_credentials:
 | 
				
			|||||||
# 3. Define all your web sites below.
 | 
					# 3. Define all your web sites below.
 | 
				
			||||||
# WSL users: Ensure these paths are correct for your WSL environment.
 | 
					# WSL users: Ensure these paths are correct for your WSL environment.
 | 
				
			||||||
# If your project directory is on windows filesystem use /mnt/c i.e., /mnt/c/Users/YourUser/projects/laravel
 | 
					# If your project directory is on windows filesystem use /mnt/c i.e., /mnt/c/Users/YourUser/projects/laravel
 | 
				
			||||||
 | 
					# project_root -> root directory of your project
 | 
				
			||||||
 | 
					# document_root -> directory where your index.php lives
 | 
				
			||||||
sites:
 | 
					sites:
 | 
				
			||||||
  # Example for a standard Laravel project
 | 
					  # Example for a standard Laravel project
 | 
				
			||||||
  - domain: mylaravelapp.local
 | 
					  - domain: mylaravelapp.local
 | 
				
			||||||
    project_root: /home/lenvi/projects/laravel # For Composer
 | 
					    project_root: /home/lenvi/projects/laravel
 | 
				
			||||||
    document_root: /home/lenvi/projects/laravel/public # For Nginx
 | 
					    document_root: /home/lenvi/projects/laravel/public
 | 
				
			||||||
    php_version: "8.2"
 | 
					    php_version: "8.2"
 | 
				
			||||||
    database: "laravel_db"
 | 
					    database: "laravel_db"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  # Example for a legacy project or a non-Laravel PHP project
 | 
					  # Example for a legacy project or a non-Laravel PHP project
 | 
				
			||||||
  - domain: local-api.domain.com
 | 
					  - domain: mylegacyapp.local
 | 
				
			||||||
    project_root: /home/lenvi/projects/legacy-site # For Composer
 | 
					    project_root: /home/lenvi/projects/legacy-site
 | 
				
			||||||
    document_root: /home/lenvi/projects/legacy-site # Nginx serves from the root
 | 
					    document_root: /home/lenvi/projects/legacy-site
 | 
				
			||||||
    php_version: "8.0"
 | 
					    php_version: "8.0"
 | 
				
			||||||
    database: "legacy_db"
 | 
					    database: "legacy_db"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  # Example for a simple site (no DB)
 | 
					  # Example for a simple site (no DB)
 | 
				
			||||||
  - domain: phpmyadmin.local
 | 
					  - domain: simple.local
 | 
				
			||||||
    project_root: /home/lenvi/projects/phpmyadmin # Directory for management
 | 
					    project_root: /home/lenvi/projects/simple
 | 
				
			||||||
    document_root: /home/lenvi/projects/phpmyadmin # Nginx serves from the root
 | 
					    document_root: /home/lenvi/projects/simple
 | 
				
			||||||
    php_version: "8.3"
 | 
					    php_version: "8.3"
 | 
				
			||||||
@ -19,4 +19,6 @@
 | 
				
			|||||||
    - role: nginx
 | 
					    - role: nginx
 | 
				
			||||||
    - role: phpmyadmin
 | 
					    - role: phpmyadmin
 | 
				
			||||||
      when: utilities.phpmyadmin.enabled is defined and utilities.phpmyadmin.enabled
 | 
					      when: utilities.phpmyadmin.enabled is defined and utilities.phpmyadmin.enabled
 | 
				
			||||||
 | 
					    - role: redis
 | 
				
			||||||
 | 
					      when: utilities.redis.enabled is defined and utilities.redis.enabled
 | 
				
			||||||
    - role: projects
 | 
					    - role: projects
 | 
				
			||||||
							
								
								
									
										6
									
								
								roles/redis/handlers/main.yml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										6
									
								
								roles/redis/handlers/main.yml
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,6 @@
 | 
				
			|||||||
 | 
					---
 | 
				
			||||||
 | 
					- name: "Restart PHP-FPM Services for Redis"
 | 
				
			||||||
 | 
					  ansible.builtin.service:
 | 
				
			||||||
 | 
					    name: "php{{ item }}-fpm"
 | 
				
			||||||
 | 
					    state: restarted
 | 
				
			||||||
 | 
					  loop: "{{ php_versions_to_install }}"
 | 
				
			||||||
							
								
								
									
										19
									
								
								roles/redis/tasks/main.yml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										19
									
								
								roles/redis/tasks/main.yml
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,19 @@
 | 
				
			|||||||
 | 
					---
 | 
				
			||||||
 | 
					- name: "Install Redis Server from APT"
 | 
				
			||||||
 | 
					  ansible.builtin.apt:
 | 
				
			||||||
 | 
					    name: redis-server
 | 
				
			||||||
 | 
					    state: present
 | 
				
			||||||
 | 
					    update_cache: yes
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- name: "Ensure Redis service is running and enabled"
 | 
				
			||||||
 | 
					  ansible.builtin.service:
 | 
				
			||||||
 | 
					    name: redis-server
 | 
				
			||||||
 | 
					    state: started
 | 
				
			||||||
 | 
					    enabled: yes
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- name: "Install Redis PHP extension for all managed PHP versions"
 | 
				
			||||||
 | 
					  ansible.builtin.apt:
 | 
				
			||||||
 | 
					    name: "php{{ item }}-redis"
 | 
				
			||||||
 | 
					    state: present
 | 
				
			||||||
 | 
					  loop: "{{ php_versions_to_install }}"
 | 
				
			||||||
 | 
					  notify: Restart PHP-FPM Services for Redis
 | 
				
			||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user