콘텐츠로 이동

오브젝트 스토리지 (MinIO)

MyPanel은 MinIO를 표준 컨테이너로 감싸 서버에서 S3 호환 오브젝트 스토어를 실행합니다 — 메일 서버가 docker-mailserver를 감싸는 것과 같은 방식입니다. 이미지, 업로드 파일, 미디어를 저장하고 URL로 제공하는 데 사용하세요.

  • Docker가 설치된 Linux VPS (Install을 클릭하면 패널이 MinIO + mc 이미지를 받아옵니다).

Storage 메뉴를 엽니다. 상태 카드는 엔진의 현재 상태를 보여줍니다:

  1. 설치되지 않음Install MinIO를 클릭합니다 (패널이 이미지를 받아 컨테이너를 시작합니다. 몇 분 걸릴 수 있습니다).
  2. 중지됨Start를 클릭합니다.
  3. 실행 중 — 바로 아래에 버킷 관리 섹션이 나타납니다.

Uninstall은 컨테이너를 제거합니다. 데이터까지 삭제하려면 다시 한 번 확인하세요.

엔진이 실행 중일 때:

  • 버킷 생성 — 이름을 지정하고(소문자, 숫자, -, .), 선택적으로 웹사이트를 연결하고 **공개 읽기(Public read)**를 활성화할 수 있습니다(이미지가 URL로 로드되도록).
  • 각 버킷은 **해당 버킷에만 한정된 액세스 키(액세스 키 + 시크릿)**를 받습니다 — 한 버킷의 키로는 다른 버킷에 접근할 수 없습니다.
  • 시크릿은 생성 시 단 한 번만 표시됩니다. 즉시 저장하세요. 이후에는 **키 회전(Rotate key)**으로 새 키를 발급하는 것만 가능합니다.
  • 공개 / 비공개 — 익명 읽기를 언제든지 전환할 수 있습니다.
  • 버킷 삭제 — 객체가 남아 있는 경우 패널은 비운 뒤 삭제(또는 비어 있을 때만 삭제)를 제안합니다.

보안을 위해 MinIO는 로컬(127.0.0.1)에서만 수신합니다: API/이미지는 포트 9000, 콘솔(관리 UI)은 9001입니다. Storage 페이지에서 바로 “Expose on domain” 버튼을 사용하면, 패널이 MinIO로 향하는 리버스 프록시 웹사이트를 생성하고 DNS가 해석되면 Let’s Encrypt를 자동으로 발급합니다. 두 개의 별도 항목:

목적패널의 버튼가리키는 대상
이미지 제공 / S3 API 사용Expose on domain127.0.0.1:9000
관리 콘솔 열기Expose Console on domain127.0.0.1:9001

노출한 후에는 도메인의 A 레코드를 서버 IP로 지정하세요(SSL은 자동으로 발급됩니다). 각 도메인은 플랜 제한에서 웹사이트 하나로 계산됩니다. MyPanel의 리버스 프록시는 WebSocket을 지원하므로 콘솔이 완전히 작동합니다.

버킷은 표준 S3이므로 S3를 지원하는 모든 플러그인/SDK가 작동합니다:

  • Endpoint — 위에서 노출한 https://<domain> (또는 같은 머신에서 실행 중이라면 http://127.0.0.1:9000).
  • 액세스 키 / 시크릿 키 — 버킷의 키(업로드에 필요).
  • Bucket — 버킷 이름. SDK 설정에서 반드시 path-style을 활성화하세요.

WordPress의 경우: 미디어 오프로드 플러그인(예: WP Offload Media)이 이 값들을 받아 미디어 라이브러리를 MinIO로 푸시합니다.

공개 이미지 링크(공개 읽기가 켜진 버킷): https://<domain>/<bucket>/<file><img src>에 직접 사용하세요.

FreePro
엔진 설치 및 실행
버킷 개수1무제한
버킷 단위 키
공개 읽기 / 키 회전

MinIO의 실제 데이터는 서버의 /var/lib/mypanel/minio/data에 저장됩니다.

  • 다른 스토어로 미러링mc mirror(또는 MinIO 복제)로 버킷을 다른 S3/MinIO에 스케줄에 따라 푸시합니다.
  • rsync / 스냅샷/var/lib/mypanel/minio/data 폴더를 시스템 수준에서 스케줄에 따라 백업합니다.