Skip to content

giacomomasseron/lazynginx

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

25 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

LazyNginx 🚀

A beautiful terminal-based Nginx manager built with Go and Bubble Tea.

GitHub Releases Go Report Card

lazynginx screen

lazynginx screen

Features

  • ✅ Check Nginx status
  • 🚀 Start/Stop/Restart Nginx
  • 🔄 Reload configuration
  • ✅ Test configuration
  • 📄 View configuration file
  • 📊 View error logs
  • 📈 View access logs
  • 🎨 Beautiful terminal UI

Installation

Binary Releases (Recommended)

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.

Verify installation:

lazynginx --version

Homebrew (macOS and Linux)

# Coming soon
brew install lazynginx

Go

go install github.com/giacomomasseron/lazynginx@latest

Note: 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).

Build from Source

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 lazynginx

You can also use go run main.go to compile and run in one go.

Running LazyNginx

# Linux/macOS (may require sudo for service operations)
sudo ./lazynginx

# Or if installed globally
sudo lazynginx

On Windows, run as Administrator:

lazynginx.exe

Usage

Navigation

  • / or k / j: Navigate menu
  • Enter: Select option
  • q or Ctrl+C: Quit application

Available Commands

  1. Check Status - Check if Nginx is running
  2. Start Nginx - Start the Nginx service
  3. Stop Nginx - Stop the Nginx service
  4. Restart Nginx - Restart the Nginx service
  5. Reload Configuration - Reload Nginx configuration without downtime
  6. Test Configuration - Test Nginx configuration for syntax errors
  7. View Configuration - Display Nginx configuration file
  8. View Error Logs - Show last 50 lines of error log
  9. View Access Logs - Show last 50 lines of access log
  10. Quit - Exit the application

Platform Support

The application automatically detects your platform and uses the appropriate commands:

  • Linux: Uses systemctl when available, falls back to direct nginx commands
  • Windows: Uses net start/stop commands
  • macOS/Unix: Uses direct nginx commands

Permissions

Some operations (start, stop, restart, reload) may require administrator/sudo privileges depending on your system configuration.

Linux/macOS

sudo ./lazynginx

Windows

Run as Administrator

Configuration

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)

Logs

The application looks for logs in:

  • /var/log/nginx/ (Linux)
  • C:\nginx\logs\ (Windows)
  • /usr/local/nginx/logs/ (macOS/Unix)

License

MIT

Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

About

Simple terminal UI for nginx management

Resources

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages