NPMplus 2025-01-10-r1 Release
요약
주의:이 버전으로 업데이트하면 모든 호스트가 재생성됩니다.
주의: goaccess의 지오 IP 데이터베이스가 저장된 경로가 etc/goaccess/geoip에서 마운트된 데이터 폴더 내의 goaccess/geoip로 변경되었습니다. 자동 업데이트 중이라면 경로를 조정하십시오.
지난 알파를 사용 중이었다면 최신 태그로 변경하십시오.
변경 사항
- http3가 이제 훨씬 빠릅니다 (http3_stream_buffer_size가 너무 작았음)
- 환경에 영향을 주는 템플릿을 업데이트할 때 모든 호스트가 한 번 재생성됩니다.
- 환경에 의존하는 영속 호스트 및 템플릿을 수정하기 위해 sed 대신 liquidjs를 사용합니다.
- 많은 이전 마이그레이션이 모두 호스트를 다시 생성함으로써 실행 파일을 가늘게 만듭니다.
- 매우 오래된 NPMplus 버전의 마이그레이션을 제거합니다 (상향 NPM으로부터의 마이그레이션은 여전히 가능함).
- http/https 포트 변경 제공
- tls-ciphers-no-stapling.conf tls-ciphers.conf를 하나의 파일로 병합
- 기본적으로 ACME_MUST_STAPLE 비활성화됨
- OCSP_STAPLING 상태를 제어하는 새로운 ACME_OCSP_STAPLING 환경, 현재 활성화되어 있으며 4월 말에 비활성화될 예정
- 환경 DB_SQLITE_FILE 및 환경 CLEAN이 더 이상 지원되지 않음
- NPM_DISABLE_IPV6 및 GOA_DISABLE_IPV6이 제거되고 DISABLE_IPV6에 포함됨
- 모든 서비스 시작 전에 모든 스탭플링 파일을 업데이트함
- 기본 호스트가 더 이상 마운트되지 않고 각 컨테이너 시작 시 재생성됨
- nginxbeautifier는 이제 호스트 생성시만 실행됨
- 응답 없는 시작 페이지 수정 (상향 이슈, 상위 커밋을 되돌림으로써 수정됨)
- 의존성 업데이트
- php84 지원
- readme 업데이트
- 보안.txt 업데이트
- 상향 병합
- 폴더 구조 개선 (주로 모든 폴더를 etc에서 루트 데이터 폴더로 이동함)
- watchtower가 NPMplus를 업데이트할 수 있도록 허용됨(env는 start.sh로 이동함)
- frontend는 이제 모드섹이 활성화되어 있는 경우에만 코어룰셋을 활성화할 수 있음
- quic_bpf 지원(기본 비활성화, NPMplus를 관리자 권한으로 실행해야 함)
- NIBEP 및 GOAIWSP의 기본값이 변경됨
- streams forwarding_port는 이제 $server_port를 유효한 입력으로 허용함
- 도메인 이름 및 stream/proxy forward_host에 대한 허용 구문이 변경됨
- INITIAL_DEFAULT_PAGE 지원 추가
- kyber(세이프 엔클레이브) 제거함 (mlkem을 지원함)
- 업스트림 서버에 연결할 때 freenginx 기본 tls 설정 사용함
- nginx_custom 폴더를 custom_nginx로 이름 바꿈
- proxy.conf 및 proxy-location.conf를 proxy-headers.conf로 통합함
- 새 더미 인증서는 rsa4096 대신 secp384r1을 사용함
- 일반 구성에 no-servername 파일 통합함
- 환경를 통해 hsts 서브도메인 비활성화 허용함
- 상향 X_FRAME_OPTIONS env를 지원하며, 기본값을 SAMEORIGIN에서 DENY로 변경하고 설정을 하지 않을 수 있는 옵션 추가함
- Referrer-Police 헤더 제거함 (해제되지 않은 경우 기본값은 NPMplus가 이전에 사용한 것과 동일함: strict-origin-when-cross-origin)
- (인증된/인증되지 않은) NPMplus API에 요청할 때 버전 노출하지 않음(알고 있음, 여전히 frontend에서는 표시됨)
- ACME_KEY_TYPE env 추가함 (기본 및 권장: ecdsa)
- #!/usr/bin/env sh 대신 #!/bin/sh 사용함
- dns secrets가 더 이상 마운트되지 않으며 db에 저장되어 컨테이너 시작 시마다 다시 쓰여지므로 마운트할 필요 없음
- certbot은 이제 nginx와 함께 빌드됨
업데이트 방법
- 위의 변경 사항을 읽음
- 도커 이미지를 다시 가져옴
- 위의 변경 중 영향을 줄 수 있는 변경 사항을 compose.yaml에 적용함
- compose 스택을 다시 배포함
- 발견한 모든 문제 보고함
전체 변경 로그: 2024-12-14-r1...2025-01-10-r1
원문 내용
Note: All hosts will regenerate when updating to this version
Note: The path where the geoip databases for goaccess are saved has move from etc/goaccess/geoip to goaccess/geoip inside the mounted data folder, if you auto update them, please adjust the path
Note if you used the last alpha, please switch back to the latest tag
What's Changed
- http3 should now be way faster (http3_stream_buffer_size was too small)
- all your hosts will now regenerate once and when you update an env which influences a template
- use liquidjs itself instead of sed to modify persistent hosts and templates based on envs
- slim start.sh because many migrations are now done by simply recreating all hosts
- remove migrations from very old NPMplus versions (migration from upstream NPM still possible)
- allow changing http/https ports
- merge tls-ciphers-no-stapling.conf tls-ciphers.conf into one file
- disable ACME_MUST_STAPLE by default
- new ACME_OCSP_STAPLING env controlling if stapling should happen, currently on, will be disabled end april
- env DB_SQLITE_FILE and env CLEAN are now unsupported
- NPM_DISABLE_IPV6 and GOA_DISABLE_IPV6 are now removed and included in DISABLE_IPV6
- update all stapling files before starting all services
- default host is not mounted anymore and recreated on each container start
- nginxbeautifier now only runs on hosts generation
- fix unresponsive start page (upstream issue, fixed by reverting upstream commit)
- dep updates
- support php84
- update readme
- update security.txt
- merge upstream
- improve folder structure (mainly move all folders inside etc to root data folder)
- watchtower is now allowed to update NPMplus (envs have moved to start.sh)
- frontend now only allows enabling coreruleset if modsec is also enabled
- quic_bpf support (default off, since it needs NPMplus to run as a privileged container)
- NIBEP and GOAIWSP have changed their default values
- streams forwarding_port now allows $server_port as a valid input
- allowed syntax for domain names and stream/proxy forward_host have changed
- added support for INITIAL_DEFAULT_PAGE
- remove kyber (mlkem is supported)
- use freenginx default tls setting when connecting to upstream server
- rename nginx_custom folder to custom_nginx
- unify proxy.conf and proxy-location.conf to proxy-headers.conf
- new dummy certs now use secp384r1 instead of rsa4096
- integrate no-servername files in the normal configs
- allow disabling hsts subdomains via env
- support upstream X_FRAME_OPTIONS env, also change its default from SAMEORIGIN to DENY, add option to not set it
- remove Referrer-Police header (default value when unset is the same as NPMplus used before: strict-origin-when-cross-origin)
- don't expose version when making a (authenticated/unauthenticated) request to NPMplus API (yes I know it is still visible on frontend)
- add ACME_KEY_TYPE env (default and recommended is still ecdsa)
- use #!/usr/bin/env sh instead of #!/bin/sh
- dns secrets are not mounted anymore, since they are saved in the db and rewritten on every container start, so they don't need to be mounted
- certbot is now built together with nginx
How to update
- read the changes above
- repull the docker image
- apply possible changes that maybe effect you from above to your compose.yaml
- redeploy the compose stack
- report any issues you find
Full Changelog: 2024-12-14-r1...2025-01-10-r1
링크 : https://github.com/ZoeyVid/NPMplus/releases/tag/2025-01-10-r1