Configuration
All configuration is stored in a single SQLite file in a persistent user directory — never inside the npm package folder, so it survives updates.
Database location
- Linux / macOS:
~/.config/easy-devops/easy-devops.sqlite - Windows:
%APPDATA%\easy-devops\easy-devops.sqlite
If you are upgrading from v1.0.x, Easy DevOps automatically migrates the old database on first run — no manual action needed.
Config Fields
| Field | Default (Linux) | Default (Windows) | Description |
|---|---|---|---|
dashboardPort | 6443 | 6443 | Dashboard HTTP port |
dashboardPassword | admin | admin | Dashboard login password |
nginxDir | /etc/nginx | C:\\nginx | Nginx installation directory |
sslDir | /etc/easy-devops/ssl | C:\\easy-devops\\ssl | SSL certificate storage root |
acmeEmail | empty | empty | Email for Let's Encrypt account (required for cert issuance) |
Database Keys
| Key | Contents |
|---|---|
config | Dashboard port, password, nginxDir, sslDir, acmeEmail |
system-detection | Cached system info (OS, Node, nginx) |
domains | JSON array of domain configurations |
Linux Permissions
On Linux, the dashboard runs as a regular user with no attached terminal. Nginx service control (systemctl start/stop/reload/restart nginx) requires sudo — but interactive sudo is not available from a web API.
Easy DevOps solves this with a one-time setup that writes NOPASSWD sudoers rules to /etc/sudoers.d/easy-devops. After setup, all service control commands use sudo -n (non-interactive) and work without prompting for a password.
From the CLI
Go to Settings → Setup Linux Permissions. The CLI prompts for your sudo password once via sudo -v, then creates the sudoers file and sets directory ownership.
From the Dashboard
Open Settings → Linux Permissions. Enter your sudo password and click Setup Permissions. The server uses sudo -S to pipe the password — no terminal needed. A status badge shows ✓ Configured once complete.
Important — nginx -t never needs sudo
The nginx config test (nginx -t) is read-only and world-readable. Easy DevOps runs it without sudo. On Linux, nginx -t exits with code 1 after printing "syntax is ok" because it cannot write /run/nginx.pid as a non-root user. Easy DevOps detects this and correctly reports the config as valid by checking output text rather than exit code.