Synology NAS Object Storage 구축하기 (feat. Minio with 역방향 프록시)

Synology NAS에 Minio 구축해보자 근데 이제 역방향 프록시를 곁들인

Synology NAS Object Storage 구축하기 (feat. Minio with 역방향 프록시)

우선 오브젝트 스토리지를 구축하게 된 가장 주된 이유는
블로그 포스팅의 이미지 호스팅을 해주기 위해서다.

기본적으로 제공되는 File Station, Web Station을 이용해서도 구축가능하지만
Api 를 이용한 upload, download를 더 편하게 하고 싶기에 Object Storage 구축을 선택했다

Minio

우선 Minio 라는 오픈소스 Object Storage를 사용할 것이다.

단순하게 S3라고 생각해도 무방하다.

  • High Performance
  • API compatible with Amazon S3

S3와 호환되는 API로 사용하기 쉽다.

  • 이거 때문에 선택

설치

Docker

우선 Synology Nas의 역방향 프록시를 사용한다 가정한 설명이다.

항상 사용하는 도커로 올려준다.

이미지

minio 이미지를 latest로 다운받아준다

이름은 적당히

포트

포트는 기본 9000, 추가로 9001도 추가해준다

minio는 기본적으로 9000포트를 사용하지만
web console 포트를 따로 지정해주지 않으면 랜덤한 포트로 사용한다.

  • 역방향 프록시가 걸린 경우 접속이 힘들어진다.

따라서 9001을 콘솔 포트로 설정해줄 것이다.

볼륨

볼륨은 원하는 형태로 파일 스테이션에서 만들어준다음
두가지 경로를 매핑해준다.

설정 파일들이 /root/.minio
실제 데이터들이 /data
로 매핑된다.

환경변수

기본적으로 있는 환경변수들인데
모두 지워주고

  • MINIO_ROOT_USER
    • 원하는 id
  • MINIO_ROOT_PASSWORD
    • 원하는 password / 8글자 이상
  • MINIO_BROWSER_REDIRECT
    • false
      • 후에 api 포트로 파일에 바로 접속하기 위해선 설정해줘야한다.
      • 안하면 url로 접속시 console로 redirect 되어 접속이 안됨

3가지만 넣어주면 기본 세팅은 된다.

실행 명령

마지막으로 실행 명령에

  • minio server /data --console-address :9001

를 넣어준다

제어판 설정

이제 Minio 서버를 호스팅 완료했으니

접속할 수 있게

  • 라우터
  • 도메인
    • 인증서
    • 역방향 프록시
      설정을 해줄것이다.

라우터 포트포워딩

제어판 > 외부 엑세스 > 라우터 구성

9000, 9001 을 열어준다.

인증서

난 Web Console로

  • file.(도메인)
    api 용으로
  • file-api.(도메인)

으로 설정해줄것이다

제어판 > 보안 > 인증서에서

web console, api 용으로 쓸 도메인의 인증서를 만들어준다.

역방향 프록시

제어판 > 로그인 포털 > 고급 > 역방향 프록시

콘솔, api 도메인을 로컬호스트:포트에 매핑시켜준다.

여기서 주의해야할 점은
콘솔쪽 역방향 프록시를 만들때

생성 > WebSocket 을 만들어줘야한다.
콘솔에서 파일들을 불러올때 웹소켓으로 가져오기 때문에 따로 등록해줘야한다.

콘솔


설정한 콘솔 url로 접속 후
설정한 id, password로 로그인한다.


요런식으로 접솓된다면 성공~

공개 버킷 생성

위 스크린샷에는 있지만

image 업로드하고
해당 경로를 통해 image를 볼 수 있게 버킷을 만들어줄것이다.

이름은 또 적당하게

만들면 기본적으로 세팅은 private으로 되어있다.

난 그냥 해당 버킷안에 있는 파일들은 모두 readonly로 열꺼기 때문에

prefix / 로 모두 readonly로 설정해준다.

간단하게 하나 올려보면

  • ![](https://file-api.joojae.com/image/miniologo.svg)

요렇게 url로 접속하면 보이게 된다~~

참고