콘텐츠로 이동

플러그인 설치

EmDash 플러그인은 두 가지 방식으로 설치할 수 있습니다: 관리자 대시보드를 통해 마켓플레이스에서 설치하거나, Astro 설정에 직접 추가하는 방식입니다. 마켓플레이스 플러그인은 격리된 샌드박스에서 실행되며, 설정 기반 플러그인은 인프로세스로 실행됩니다.

관리자 대시보드에는 플러그인을 검색, 설치 및 관리할 수 있는 마켓플레이스 브라우저가 포함되어 있습니다.

마켓플레이스 플러그인을 설치하려면 사이트에 다음이 필요합니다:

  1. 샌드박스 러너 구성됨 — 마켓플레이스 플러그인은 격리된 V8 워커에서 실행되며, 이는 샌드박스 런타임이 필요합니다:

    astro.config.mjs
    import { emdash } from "emdash/astro";
    export default defineConfig({
    integrations: [
    emdash({
    marketplace: "https://marketplace.emdashcms.com",
    sandboxRunner: true,
    }),
    ],
    });
  2. 관리자 권한 — 관리자만 플러그인을 설치하거나 제거할 수 있습니다.

  1. 관리자 패널을 열고 Plugins > Marketplace로 이동합니다
  2. 플러그인을 탐색하거나 검색합니다
  3. 플러그인 카드를 클릭하여 상세 페이지(README, 스크린샷, 기능, 보안 감사 결과)를 확인합니다
  4. Install을 클릭합니다
  5. 기능 동의 대화 상자를 검토합니다 — 이는 플러그인이 접근할 수 있는 항목을 보여줍니다
  6. 설치를 확인합니다

플러그인이 다운로드되어 사이트의 R2 버킷에 저장되고 샌드박스 러너에 로드됩니다. 즉시 활성화됩니다.

설치 전에, 플러그인이 접근이 필요한 항목을 나열한 대화 상자가 표시됩니다:

기능의미
read:content콘텐츠 읽기
write:content콘텐츠 생성, 업데이트 및 삭제
read:media미디어 라이브러리 접근
write:media미디어 업로드 및 관리
network:fetch특정 호스트에 네트워크 요청 수행

마켓플레이스의 모든 플러그인 버전은 자동화된 보안 감사를 거쳤습니다. 감사 결과는 플러그인 카드에 표시됩니다:

  • 통과 — 문제 없음
  • 경고 — 사소한 문제가 발견됨 (결과 검토 필요)
  • 실패 — 심각한 보안 문제 감지됨

플러그인의 상세 페이지에서 개별 발견 사항과 심각도를 포함한 전체 감사 보고서를 볼 수 있습니다.

설치된 플러그인의 최신 버전이 사용 가능할 때:

  1. 관리자 패널에서 Plugins로 이동합니다
  2. 마켓플레이스 플러그인에 Update available 배지가 표시됩니다
  3. Update를 클릭하여 변경 로그와 기능 변경 사항을 확인합니다
  4. 새 버전에 추가 기능이 필요한 경우, 차이점이 표시되고 승인이 필요합니다
  5. 업데이트를 확인합니다
  1. 관리자 패널에서 Plugins로 이동합니다
  2. 제거하려는 마켓플레이스 플러그인을 클릭합니다
  3. Uninstall을 클릭합니다
  4. 플러그인의 저장된 데이터를 유지할지 삭제할지 선택합니다
  5. 확인합니다

플러그인의 샌드박스 코드가 R2 버킷에서 제거되고 즉시 실행이 중지됩니다.

신뢰할 수 있는 플러그인(자체 코드 또는 npm을 통해 설치한 패키지)의 경우, Astro 설정에 직접 추가하세요:

typescript title="astro.config.mjs"
import { defineConfig } from "astro/config";
import { emdash } from "emdash/astro";
import seoPlugin from "@emdash-cms/plugin-seo";
export default defineConfig({
integrations: [
emdash({
plugins: [
seoPlugin({ generateSitemap: true }),
],
}),
],
});

설정 기반 플러그인:

  • 인프로세스로 실행됨 (샌드박스되지 않음)
  • Node.js API에 대한 전체 접근 권한을 가짐
  • 빌드 시와 서버 시작 시마다 로드됨
  • 관리자 UI에서 설치하거나 제거할 수 없음

마켓플레이스 vs 설정: 언제 무엇을 사용할지

섹션 제목: “마켓플레이스 vs 설정: 언제 무엇을 사용할지”
마켓플레이스설정
실행샌드박스된 V8 격리인프로세스
설치 방법관리자 UI코드 변경 + 배포
기능런타임 시 강제 적용문서화만 됨
Node.js API사용 불가전체 접근 권한
최적 용도타사 플러그인자사 코드
업데이트관리자에서 원클릭버전 업데이트 + 배포