Files
npm-angie-auto-install/README.md
Mateusz Gruszczyński 37a3e956de poprawki
2025-10-24 21:13:19 +02:00

122 lines
3.0 KiB
Markdown

# NPM + Angie Auto Installer
Minimal, repeatable setup for **Nginx Proxy Manager (NPM)** on **Angie** (Debian / Ubuntu).
The installer configures Angie, deploys NPM (frontend + backend), fixes common pitfalls (PID tests, logrotate)
---
## Repository
Base URL: **https://gitea.linuxiarz.pl/gru/npm-angie-auto-install**
> On Gitea, the raw file URL usually looks like:
> `https://gitea.linuxiarz.pl/gru/npm-angie-auto-install/raw/branch/main/install.py`
---
## Requirements
- Debian 13 / Ubuntu 24.04 (root privileges).
- `curl`, `python3`
- Network access to fetch packages and Node/Yarn artifacts.
- ~2 GB RAM (recommended) or add 2 GB swap for safer frontend builds.
---
## Quick Start (one-liner)
```bash
curl -fsSL https://gitea.linuxiarz.pl/gru/npm-angie-auto-install/raw/branch/master/npm_install.py -o install.py && sudo python3 install.py --dark-mode
```
> If you keep a patched version, replace `install.py` with your file name (e.g. `install_fixed.py`).
---
## Manual Download & Run
```bash
# 1) Download
curl -L https://gitea.linuxiarz.pl/gru/npm-angie-auto-install/raw/branch/master/npm_install.py -o install.py
# 2) Verify (optional)
python3 -m pyflakes install.py || true
# 3) Run
sudo python3 install.py --dark-mode
```
---
## What the Installer Does
- Creates **/etc/nginx -> /etc/angie** symlink (idempotent).
- Installs **Angie** and config templates; provides an **nginx wrapper** that makes config tests safe:
- `nginx -t` automatically uses `-g "pid /tmp/angie-test.pid; error_log off;"` and strips other `-g` flags.
---
## Options
- IPv6 keep/strip (resolver & conf).
- Theme.Park stylesheet injection (optional).
- Update-only mode (rebuild without reconfiguring Angie).
Check `--help` in the script for all flags.
---
## Post-Install
```bash
systemctl status angie.service --no-pager
systemctl status npm.service --no-pager
```
# NPM UI
# Default: http(s)://<your-host>:81 (see summary printed by installer)
---
## Angie Statistics for a Specific vHost (NPM → Edit → Advanced)
To enable Angie statistics for a specific vHost:
1. Go to **Hosts → Proxy Hosts → (Edit)**.
2. Open the **Advanced** tab.
3. Add a line with a **fixed** zone name (no variables):
```bash
status_zone my-domain;
```
4. Save
Metrics will be visible at:
http://<NPM-IP>:82/console/#server_zones
## HTTP/3 Announcement (NPM → Edit → Advanced)
```bash
listen 443 quic;
add_header Alt-Svc 'h3=":443"; ma=86400' always;
```
(Optional) Debug header for verification
```bash
add_header X-H3-Advertised "1" always;
```
---
## Troubleshooting
**1) Frontend build killed (SIGKILL) / high RAM usage**
- If memory is tight, add swap:
```bash
sudo fallocate -l 2G /swapfile && sudo chmod 600 /swapfile
sudo mkswap /swapfile && sudo swapon /swapfile
```
---
## Uninstall (manual)
```bash
sudo systemctl disable --now npm.service angie.service || true
sudo rm -f /usr/sbin/nginx /usr/local/bin/logrotate-npm || true
sudo rm -f /opt/npm || true
```
---
## License
MIT
## Author
linuxiarz.pl, Mateusz Gruszczyński