Docs / Reference

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

FieldDefault (Linux)Default (Windows)Description
dashboardPort64436443Dashboard HTTP port
dashboardPasswordadminadminDashboard login password
nginxDir/etc/nginxC:\\nginxNginx installation directory
sslDir/etc/easy-devops/sslC:\\easy-devops\\sslSSL certificate storage root
acmeEmailemptyemptyEmail for Let's Encrypt account (required for cert issuance)

Database Keys

KeyContents
configDashboard port, password, nginxDir, sslDir, acmeEmail
system-detectionCached system info (OS, Node, nginx)
domainsJSON 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.