geo-sot/filament-env-editor
Filament plugin for viewing and editing your Laravel .env file straight from the admin panel. Manage environment variables through a clean, validated interface with safe saving—no SSH or manual file editing needed.
Architecture fit
.env file through the admin UI. Integration is therefore a single plugin registration in the target PanelProvider — no middleware, no routes to hand-wire, no database schema in the typical case.config:cache step in CI. In those topologies the capability is either impossible (read-only mount) or silently ineffective (cached config).Integration feasibility
composer require, register the plugin on the panel, optionally publish a config file. This is an hours-scale spike for one engineer, not a project.canAccess/canView or a Filament authorization callback) so the page can be restricted to a super-admin role rather than "any panel user."Technical risk
APP_KEY (invalidating sessions and permanently destroying encrypted data), flip APP_DEBUG (stack traces and credentials in error pages), repoint DB_HOST/MAIL_HOST (data exfiltration), or set CACHE_STORE/QUEUE_CONNECTION to break the app outright. Effectively, "can edit .env" is root-equivalent and should be treated as such in the permission model..env is normally owned by the deploy user and not writable by www-data. Granting write access is itself a security regression; not granting it makes the feature fail. Containerized or autoscaled deployments lose writes on restart.config:cache (the recommended production posture), editing .env has no effect until the cache is rebuilt — and on multi-node infrastructure, rebuilding on one node doesn't help the others. The tool can appear to succeed while nothing changes.export prefixes, comments, embedded #, and quoting are the classic corruption cases. A naive parser that rewrites the file can take a working app down with no rollback path.Key questions
APP_KEY, DB_PASSWORD, *_SECRET) masked in the UI and write-protected, or is everything editable?.env.bak in the document root would be a critical finding)?.env only, or .env.local/.env.{env} variants?Stack fit
Migration path
Compatibility
spatie/laravel-permission integration for the gate.config:cache. If it does, the feature is a no-op in production and the business case collapses to staging-only.Sequencing
.env round-trip fidelity against a copy of the real production file including comments and quoted values.Maintenance
Support
Scaling
.env is per-node; a change applies to whichever instance served the request. Across multiple pods or a load-balanced fleet, the feature is worse than useless because it produces divergent configuration while looking authoritative.Failure modes
.env corruption from a bad parser round-trip → application down, no rollback → recovery requires filesystem access, which defeats the premise of the tool..env; last writer wins, unknown state.Ramp-up
.env ≠ effective config. Budget roughly one to two weeks elapsed for a production-grade rollout including security review; one day for a staging-only trial.How can I help you explore Laravel packages today?