• 돌아가기
  • 아래로
  • 위로
  • 목록
  • 댓글
가이드

차세대 Nginx Proxy Manager NPM Plus 설치하기.

달소 달소 1784

6

21

 

안녕하세요. 달소입니다.

 

이번글에서는 앞서 소개해드린 NPM Plus를 직접 docker로 설치해보도록 하겠습니다.

 

NPM을 사용하는 목적이나 기타 개선에대한 내용은 아래글을 참고해주세요.

 

주의할점은 기존 NPM의 경우 portmapping을 통해 진행했지만 요 NPM Plus의 경우 host network를 사용한 설치방법으로 기본 가이드 되어있으니 참고하시면되겠습니다.

 

사용하는 포트는 80,81,443 입니다.

UDP 443도 사용하는데 이는 HTTP3 지원을 위함입니다. 80/443만 포트포워딩만 해주시면 되겠습니다.

 

++설치해보니 자잘한 버그들이 많습니다(특히 UI쪽) 그래도 proxy는 문제없으니 참고해주세요.

설치환경

Ubuntu 22.04 LTS

docker / docker-compose

Cloudflare 도메인

 

도메인에 A레코드로 IP를 할당해주셔야 정상적으로 사용이 가능합니다.

 

컨테이너 생성하기

mkdir -p /data/npmplus

cd /data/npmplus

vi docker-compose.yml

 

기본적으로 아래 주석처리 되어있는부분의 경우 설명을 잘 읽어주시면 되나

기본으로 사용하기에는 아래 내용만 복붙해주셔도 사용에는 지장 없습니다.

version: "3"
services:
  npmplus:
    container_name: npmplus
    image: zoeyvid/npmplus
    restart: always
    network_mode: host
    volumes:
      - "./data:/data"
#      - "/var/www:/var/www" # optional, if you want to use it as webserver for html/php
#      - "/opt/npm-letsencrypt:/etc/letsencrypt" # Only needed for first time migration from original nginx-proxy-manager to this fork
    environment:
      - "TZ=Asia/Seoul" # set timezone, required
#      - "PUID=1000" # set group id, default 0 (root)
#      - "PGID=1000" # set user id, default 0 (root)
#      - "NIBEP=48694" # internal port, always bound to 127.0.0.1, default 48693, you need to change it, if you want to run multiple npm instances in network mode host
#      - "NPM_PORT=82" # Port the NPM backend should be bound to, default 81, you need to change it, if you want to run multiple npm instances in network mode host
#      - "IPV4_BINDING=127.0.0.1" # IPv4 address to bind, defaults to all
#      - "NPM_IPV4_BINDING=127.0.0.1" # IPv4 address to bind for the NPM backend, defaults to all
#      - "IPV6_BINDING=[::1]" # IPv6 address to bind, defaults to all
#      - "NPM_IPV6_BINDING=[::1]" # IPv6 address to bind for the NPM backend, defaults to all
#      - "DISABLE_IPV6=true" # disable IPv6, overrides with IPV6_BINDING, default false
#      - "NPM_DISABLE_IPV6=true" # disable IPv6 for the NPM backend, overrides with NPM_IPV6_BINDING, default false, overrides NPM_LISTEN_LOCALHOST
#      - "NPM_LISTEN_LOCALHOST=true" # Bind the NPM Dashboard on Port 81 only to localhost, overrides with NPM_IPV4_BINDING/NPM_IPV6_BINDING, default false
#      - "NPM_CERT_ID=1" # ID of cert, which should be used instead of dummycerts, default 0/unset/dummycerts
#      - "DISABLE_HTTP=true" # disables nginx to listen on port 80, default false
#      - "NGINX_LOG_NOT_FOUND=true" # Allow logging of 404 errors, default false
#      - "CLEAN=false" # Clean folders, default true
#      - "FULLCLEAN=true" # Clean unused config folders, default false
#      - "PHP81=true" # Activate PHP81, default false
#      - "PHP81_APKS=php81-curl php-81-curl" # Add php extensions, see available packages here: https://pkgs.alpinelinux.org/packages?branch=v3.18&repo=community&arch=x86_64&name=php81-*, default none
#      - "PHP82=true" # Activate PHP82, default false
#      - "PHP82_APKS=php82-curl php-82-curl" # Add php extensions, see available packages here: https://pkgs.alpinelinux.org/packages?branch=v3.18&repo=community&arch=x86_64&name=php82-*, default none  

 

image.png.jpg

 

image.png.jpg

image.png.jpg

 

컨테이너가 모두 잘 올라오면 https://ip:81 접속해주시면됩니다.

 

기본계정은 아래와같습니다.

 

Email:    admin@example.com
Password: iArhP1j7p1P6TA92FA2FMbbUGYqwcYzxC4AVEe12Wbi94FY9gNN62aKyF1shrvG4NycjjX9KfmDQiwkLZH1ZDR9xMjiG2QmoHXi  

 

접속 후 기본 계정과 PW를 모두 변경해주시면 됩니다.

 

image.png.jpg

 

기본 사용법

기존에 사용하시던 NPM과 크게 달라진 부분은 없습니다.

반드시 80/443이 npm으로 포트포워딩 되어있어야 정상적으로 리버스프록시 역할과 인증서를 받아오니 이점만 유의해주세요.

 

프록시 추가

image.png.jpg

 

웹소켓까지는 익숙하시겠고 나머지는 보안관련 항목들 입니다.

도메인 네임에는 DNS에 등록한 도메인이름을 작성해주세요.

image.png.jpg

 

TLS쪽에서는 인증서 외에 Brotli 압축이나, HTTP3 등이 추가되었습니다.
*현재 기본 인증서가 동작하지않는듯합니다. 에러가나오네요..

Cloudflare dns challenge로 성공했습니다.

image.png.jpg

 

Advanced는 동일하게 커스텀..

 

image.png.jpg

 

끝입니다 ㅎ

 

외부에서 해당 도메인으로 접속해보시면됩니다.

 

http3도 잘 적용됐네요!

클플도메인 http3 인것으로 확인되었습니다. native 는 잘 안되서 체크중입니다.

image.png.jpg

 

다음글에서는 앞서 소개드린 Crowdsec도 연결해보겠습니다.

신고공유스크랩
21
profile image
달소 글쓴이 2023.11.25. 20:42
Legionarii
설치환경에서처럼 ubuntu기준입니다.
시놀에 한다면 다른포트를 쓰고 포트포워딩을해당포트로해주시면됩니다
12

댓글 쓰기 권한이 없습니다. 로그인

취소 댓글 등록

cmt alert

신고

"님의 댓글"

이 댓글을 신고하시겠습니까?

댓글 삭제

"님의 댓글"

삭제하시겠습니까?


목록

공유

facebooktwitterpinterestbandkakao story
번호 제목 글쓴이 날짜 조회 추천
pfsense/opnsense + Elastic Stack 프로젝트 pfelk 1 달소 1일 전01:57 431 +1
메인서버 정리용 선반구매 + 정리 5 kmw_ 4일 전18:54 386 +2
하필 왜 밖에있을때 죽는지.. 6 kmw_ 5일 전10:47 353 +1
3784
image
klayf 24.05.12.14:16 332 +14
3783
image
opq! 24.04.02.21:25 541 +9
3782
image
keiminem 24.05.24.09:01 1026 +8
3781
image
달소 23.07.04.20:38 2006 +7
3780
image
짹짹이 24.02.11.14:56 687 +6
3779
image
미오뜨 23.10.16.15:05 1168 +6
image
달소 23.11.07.00:00 1784 +6
3777
image
ExpBox 23.04.23.02:29 1263 +6
3776
image
달소 23.09.09.22:30 938 +5
3775
image
화정큐삼 23.08.08.09:33 1130 +5
3774
image
akrsoTale 23.10.15.15:52 470 +5
3773
image
달소 23.07.15.16:34 1591 +5
3772
image
keiminem 23.12.24.21:55 672 +5
3771
image
달소 23.09.27.14:22 1543 +5
3770
image
달소 23.06.20.00:13 843 +4
3769
image
화정큐삼 23.08.07.12:40 1224 +4
3768
image
달소 23.05.29.22:04 497 +4
3767
image
keiminem 23.11.21.15:54 519 +4
3766
image
달소 23.04.01.02:40 1916 +4
3765
image
달소 23.09.17.15:55 996 +4