This commit is contained in:
Mateusz Gruszczyński
2025-10-23 22:30:18 +02:00
parent 087d045dcb
commit ef65e11dff
2 changed files with 18 additions and 15 deletions

View File

@@ -70,7 +70,7 @@ systemctl status angie.service --no-pager
systemctl status npm.service --no-pager systemctl status npm.service --no-pager
# NPM UI # NPM UI
# Default: http(s)://<your-host> (see summary printed by installer) # Default: http(s)://<your-host>:81 (see summary printed by installer)
``` ```
--- ---
@@ -90,25 +90,18 @@ systemctl status npm.service --no-pager
**3) Config test fails on PID** **3) Config test fails on PID**
- The **nginx wrapper** ensures `nginx -t` writes test PID to `/tmp`, not to `/run/angie/angie.pid`. - The **nginx wrapper** ensures `nginx -t` writes test PID to `/tmp`, not to `/run/angie/angie.pid`.
**4) `/etc/nginx` not pointing to Angie**
- The installer ensures `/etc/nginx -> /etc/angie`. To fix manually:
```bash
sudo mv /etc/nginx /etc/nginx.bak # if it is a dir/file
sudo ln -sfn /etc/angie /etc/nginx
```
--- ---
## Uninstall (manual) ## Uninstall (manual)
```bash ```bash
sudo systemctl disable --now npm.service angie.service || true sudo systemctl disable --now npm.service angie.service || true
sudo rm -f /usr/sbin/nginx /usr/local/bin/logrotate-npm || true sudo rm -f /usr/sbin/nginx /usr/local/bin/logrotate-npm || true
# restore backups if you created any; remove /opt/npm, configs, etc. with care
``` ```
--- ---
## License ## License
MIT (unless your repo specifies otherwise). MIT
## Author linuxiarz.pl, Mateusz Gruszczyński ## Author
linuxiarz.pl, Mateusz Gruszczyński

View File

@@ -1,5 +1,5 @@
#!/usr/bin/env python3 #!/usr/bin/env python3
# install_npm_angie.py
import argparse, os, sys, json, shutil, subprocess, tarfile, tempfile, urllib.request, re, time, threading, signal import argparse, os, sys, json, shutil, subprocess, tarfile, tempfile, urllib.request, re, time, threading, signal
from pathlib import Path from pathlib import Path
@@ -197,6 +197,17 @@ def ensure_nginx_symlink():
ANGIE_CONF_TEMPLATE = """# run nginx in foreground ANGIE_CONF_TEMPLATE = """# run nginx in foreground
#daemon off; #daemon off;
load_module /etc/angie/modules/ngx_http_headers_more_filter_module.so;
load_module /etc/angie/modules/ngx_http_brotli_filter_module.so;
load_module /etc/angie/modules/ngx_http_brotli_static_module.so;
load_module /etc/angie/modules/ngx_http_zstd_filter_module.so;
load_module /etc/angie/modules/ngx_http_zstd_static_module.so;
# other modules
include /data/nginx/custom/modules[.]conf;
pid /run/angie/angie.pid; pid /run/angie/angie.pid;
user root; user root;
@@ -205,8 +216,6 @@ pcre_jit on;
error_log /data/logs/fallback_error.log warn; error_log /data/logs/fallback_error.log warn;
include /etc/angie/modules/*.conf;
# Custom # Custom
include /data/nginx/custom/root_top[.]conf; include /data/nginx/custom/root_top[.]conf;
@@ -261,6 +270,7 @@ http {
zstd_min_length 256; zstd_min_length 256;
zstd_comp_level 3; zstd_comp_level 3;
more_clear_headers "Server"; more_clear_headers "Server";
more_set_headers 'X-by: linuxiarz.pl';
# npm # npm
include /data/nginx/custom/http_top[.]conf; include /data/nginx/custom/http_top[.]conf;
@@ -711,7 +721,7 @@ def print_summary(info, ipv6_enabled, dark_enabled, update_mode):
print(f"Node.js: v{node_v}") print(f"Node.js: v{node_v}")
print(f"Yarn: v{yarn_v}") print(f"Yarn: v{yarn_v}")
print(f"NPM (aplikacja): v{npm_v}") print(f"NPM (aplikacja): v{npm_v}")
print(f"IPv6: {'WŁĄCZONE (nie usuwano wpisów)' if ipv6_enabled else 'WYŁĄCZONE w konfigach'}") print(f"IPv6: {'ENABLED' if ipv6_enabled else 'DISABLED (in confogs too)'}")
print(f"Dark mode (TP): {'TAK' if dark_enabled else 'NIE'}") print(f"Dark mode (TP): {'TAK' if dark_enabled else 'NIE'}")
print("Paths: /opt/npm (app), /data (data), /etc/angie (conf), /var/log/angie (logs)") print("Paths: /opt/npm (app), /data (data), /etc/angie (conf), /var/log/angie (logs)")
print("Services: systemctl status angie.service / npm.service") print("Services: systemctl status angie.service / npm.service")