# 설치

# Docker 설치

Docker Mapping 볼륨을 생성합니다. 아래는 디렉토리 위치 예제 입니다.

```shell
mkdir /volume1/docker/npm/data
mkdir /volume1/docker/npm/letsencrypt
```

아래 내용으로 "docker-compose.yml" 파일을 작성합니다.

```yaml
version: "3.8"
services:
  nginx-proxy-manager:
  #app:
    image: 'jc21/nginx-proxy-manager:latest'
    #network_mode: host # option
    restart: unless-stopped
    ports:
      # network_mode: host
      # These ports are in format <host-port>:<container-port>
      - '8080:80' # Public HTTP Port
      - '8443:443' # Public HTTPS Port
      - '81:81' # Admin Web Port
      # Add any other Stream port you want to expose
      # - '21:21' # FTP
    environment:
      DB_MYSQL_HOST: "DB_IP" # ex : 192.168.1.200
      DB_MYSQL_PORT: DB_PORT # ex : 3306
      DB_MYSQL_USER: "npm"
      DB_MYSQL_PASSWORD: "DB_PW"
      DB_MYSQL_NAME: "npm"
      # Uncomment this if IPv6 is not enabled on your host
      # DISABLE_IPV6: 'true'
      TZ: Asia/Seoul # option
    volumes:
      - '/volume1/docker/npm/data:/data'
      - '/volume1/docker/npm/letsencrypt:/etc/letsencrypt'
      - '/volume1/docker/npm/config.json:/app/config/production.json'
```

경로값 부분은 사용자 환경에 맞게 수정해 줍니다.

단, 8080, 8443 포트 설정은 **<span style="color: rgb(224, 62, 45);">시놀로지의 경우 DSM에서 이미 80 (http)과 443 (https) 포트를 사용 중</span>**이라 정상적인 Docker Container 설정이 불가합니다. 이런 사유로 80은 8080, 443은 8443으로 포트 맵핑을 설정하였습니다.

"docker-compose.yml"이 있는 위치로 이동 후 아래 명령을 실행 합니다.

```shell
 docker-compose up -d
```

마지막으로 아래 tcp 포트를 라우터에서 포트포워딩 해줍니다.

<table border="1" id="bkmrk-%EC%99%B8%EB%B6%80%ED%8F%AC%ED%8A%B8-%EB%82%B4%EB%B6%80%ED%8F%AC%ED%8A%B8-%EB%B9%84%EA%B3%A0-80-8080" style="border-collapse: collapse; width: 100%;"><colgroup><col style="width: 33.3333%;"></col><col style="width: 33.3333%;"></col><col style="width: 33.3333%;"></col></colgroup><tbody><tr><td class="align-center">외부포트</td><td class="align-center">내부포트</td><td class="align-center">비고</td></tr><tr><td class="align-center">80</td><td class="align-center">8080</td><td class="align-center">http</td></tr><tr><td class="align-center">443</td><td class="align-center">8443</td><td class="align-center">https</td></tr></tbody></table>

“IP:81”로 접속하시면 관리자 페이지가 나옵니다.

[![admin_page.png](https://wiki.dhcloud.me/uploads/images/gallery/2023-06/scaled-1680-/admin-page.png)](https://wiki.dhcloud.me/uploads/images/gallery/2023-06/admin-page.png)

초기 계정은 아래와 같으며, 최초 로그인 후 수정해 주시면 됩니다.

<p class="callout success">Email address : admin@example.com  
Password : changeme</p>

[![admin_page2.png](https://wiki.dhcloud.me/uploads/images/gallery/2023-06/scaled-1680-/admin-page2.png)](https://wiki.dhcloud.me/uploads/images/gallery/2023-06/admin-page2.png)