Overview
Envloom’s site management system allows you to create new projects or link existing ones with automatic Nginx configuration, local SSL certificates, and per-site PHP version selection.Create New Sites
Provision fresh Laravel projects with starter kits
Link Existing Sites
Connect existing projects with auto-detection
Site Creation Workflow
Creating a New Laravel Site
Configure Site Details
- Site Name: Display name for the project
- Domain: Local domain (e.g.,
myapp.test) - Path: Directory where project will be created
- PHP Version: Select from installed PHP versions (e.g.,
8.3) - Starter Kit: Choose from React, Vue, Svelte, Livewire, or none
Automated Provisioning Process
When you create a new site, Envloom executes the following steps automatically:- With Starter Kit
- Plain Laravel
Provisioning with starter kit
The wizard displays real-time output from each provisioning step. The output auto-scrolls and avoids duplicates.
Available Starter Kits
Envloom downloads starter kits from official Laravel repositories:| Starter Kit | Repository | Description |
|---|---|---|
| React | laravel/react-starter-kit | Laravel + React + Inertia.js |
| Vue | laravel/vue-starter-kit | Laravel + Vue 3 + Inertia.js |
| Svelte | laravel/svelte-starter-kit | Laravel + Svelte + Inertia.js |
| Livewire | laravel/livewire-starter-kit | Laravel + Livewire + Alpine.js |
Linking Existing Sites
Link Workflow
Auto-Detection
Envloom inspects the project and detects:
- Framework (Laravel, Symfony, WordPress, generic PHP)
- Suggested site name (from directory name)
- Whether it contains PHP files
Configure Domain & PHP
- Set local domain (e.g.,
existing-app.test) - Choose PHP version for this site
- Enable SSL if needed
Framework Detection Logic
Envloom detects frameworks in this order:Detection hierarchy (src-tauri/src/lib.rs:752-796)
Linked sites preserve existing
.env configuration. Envloom does not overwrite APP_URL for linked projects.Site Configuration
Per-Site Settings
Each site is stored insites.json with the following structure:
Site record structure
Changing PHP Version
You can switch PHP versions for any site from the UI:Nginx Configuration
Auto-Generated Site Config
Each site gets a dedicated Nginx config file atsites/{domain}.conf:
- Without SSL
- With SSL
HTTP only configuration
Document Root Detection
Envloom automatically detects the correct document root:Root detection logic
Per-Site Logs
Each site gets dedicated Nginx logs:- Access log:
logs/nginx/sites/{domain}.access.log - Error log:
logs/nginx/sites/{domain}.error.log
View site-specific logs from Logs > Nginx and select your site from the dropdown.
Hosts File Management
Automatic Hosts Updates
Envloom manages entries inC:\Windows\System32\drivers\etc\hosts:
Managed hosts block
Reconciliation Process
UAC Elevation
Modifying the hosts file requires administrator privileges:- First attempt: Try writing directly
- If denied: Launch
hosts-update-elevated.cmdwith UAC prompt - User action: Accept UAC dialog to apply changes
The elevation script is located at
sites/hosts-update-elevated.cmd and is auto-generated.Site Deletion
Delete Options
- Unlink Only
- Delete Files
Delete request (deleteFiles: false)
- Site record from
sites.json - Nginx config file (
sites/{domain}.conf) - Hosts file entry
- Site-specific Nginx logs
- Project files on disk
- Database data
SSL Certificate Management
See the dedicated SSL & Networking page for details on certificate generation and trust.CLI Commands
Site management from CLI
Dashboard Integration
The Dashboard shows up to 10 recent sites with:- Site name and domain
- SSL status indicator
- Linked vs. Created badge
- PHP version
- Quick link to View more (opens Sites page)
Troubleshooting
Site Not Accessible
- Check hosts file: Verify
127.0.0.1 {domain}entry exists - Verify Nginx config: Run
nginx -tfrombin/nginx/current - Check Nginx status: Ensure Nginx is running (Dashboard shows status)
- PHP-FPM running: Verify PHP-FPM for the selected version is active
- Review logs: Check
logs/nginx/sites/{domain}.error.log
SSL Certificate Errors
- Trust CA: Ensure local CA is trusted (see SSL docs)
- Regenerate cert: Click Regenerate SSL on the site detail page
- Check files: Verify
sites/certs/{domain}.crtand.keyexist - Browser cache: Clear browser SSL cache and restart
Provisioning Fails
- PHP not installed: Install required PHP version first
- Composer missing: Ensure Composer is downloaded (
bin/composer/composer.phar) - Port conflicts: Close other services using ports 9000-9099
- Directory exists: Target directory must be empty for new sites
- NPM errors: Run
npm install --legacy-peer-depsmanually if needed
Hosts File Won’t Update
- UAC required: Accept the elevation prompt when it appears
- Permissions: Ensure you have admin rights on your machine
- File lock: Close editors that might have
hostsfile open - Manual edit: As fallback, manually add
127.0.0.1 {domain}to hosts
Related Documentation
Runtime Management
Install and manage PHP versions for sites
SSL & Networking
Configure local SSL certificates