A beautiful terminal-based Nginx manager built with Go and Bubble Tea.
- ✅ Check Nginx status
- 🚀 Start/Stop/Restart Nginx
- 🔄 Reload configuration
- ✅ Test configuration
- 🌐 Manage sites: list, add, view and delete
- 🔀 Manage reverse proxies and load balancers
- 📄 View and edit configuration files in your
$EDITOR - 📊 View error logs
- 📈 View access logs
- 🎨 Beautiful terminal UI
For Windows, macOS (10.12+) or Linux, you can download a binary release from the releases page.
Linux / macOS:
# Download the latest release for your platform
# For example, Linux x86_64:
LAZYNGINX_VERSION=$(curl -s "https://api.github.com/repos/giacomomasseron/lazynginx/releases/latest" | grep -Po '"tag_name": *"v\K[^"]*')
curl -Lo lazynginx.tar.gz "https://github.com/giacomomasseron/lazynginx/releases/download/v${LAZYNGINX_VERSION}/lazynginx_${LAZYNGINX_VERSION}_linux_amd64.tar.gz"
tar xf lazynginx.tar.gz lazynginx
sudo install lazynginx -D -t /usr/local/bin/Windows:
Download the .zip file from the releases page, extract it, and run lazynginx.exe.
# Coming soon
brew install lazynginxgo install github.com/giacomomasseron/lazynginx@latestNote: If you get an error claiming that lazynginx cannot be found or is not defined, you may need to add ~/go/bin to your $PATH (macOS/Linux), or %HOME%\go\bin (Windows).
Prerequisites:
- Go 1.21 or later
- Nginx installed on your system
git clone https://github.com/giacomomasseron/lazynginx.git
cd lazynginx
go mod download
go build -o lazynginxYou can also use go run main.go to compile and run in one go.
# Linux/macOS (may require sudo for service operations)
sudo ./lazynginx
# Or if installed globally
sudo lazynginxOn Windows, run as Administrator:
lazynginx.exe↑/↓ork/j: Navigate menu→/l/Tab: Move to the next panel←/h: Move back to the previous panelEnter: Select optione: Edit the selected configuration filed: Delete the selected siteqorCtrl+C: Quit application
The menu is grouped into categories:
- Status & Monitoring - Check Status, Test Configuration
- Service Control - Start, Stop, Restart, Reload Configuration
- Sites - Add a site, then view, edit or delete the existing ones
- Reverse Proxies - Add Reverse Proxy, Add Load Balancer, and view the existing ones
- Configuration - Display and edit the Nginx configuration file
- Logs - View Error Log, View Access Log (last 50 lines)
- Quit - Exit the application
The application automatically detects your platform and uses the appropriate commands:
- Linux: Uses
systemctlwhen available, falls back to directnginxcommands - Windows: Uses
net start/stopcommands - macOS/Unix: Uses direct
nginxcommands
Some operations (start, stop, restart, reload) may require administrator/sudo privileges depending on your system configuration.
sudo ./lazynginxRun as Administrator
The application automatically searches for Nginx in common locations:
/etc/nginx/nginx.conf(Linux)C:\nginx\conf\nginx.conf(Windows)/usr/local/nginx/conf/nginx.conf(macOS/Unix)
The application looks for logs in:
/var/log/nginx/(Linux)C:\nginx\logs\(Windows)/usr/local/nginx/logs/(macOS/Unix)
MIT
Contributions are welcome! Please feel free to submit a Pull Request.
This project uses golangci-lint. The rules live in
.golangci.yml and run on every push and pull request.
Install it (other methods):
go install github.com/golangci/golangci-lint/v2/cmd/golangci-lint@v2.13.2Then run it from the repository root:
golangci-lint run ./...
# Apply the fixes it can make automatically (including formatting)
golangci-lint run --fix ./...Please make sure it reports no issues before opening a Pull Request.

