Skip to content

Waline

이전 문서: Waline 게시일: 2023-6-29 마지막 편집: 2026-5-12 원래 분류: 📩 댓글 플러그인 태그: Waline, NotionNext, 플러그인

👉

주의: 이 문서에서 소개하는 LeanCloud는 곧 서비스가 중단될 예정이므로 문서 내용이 오래되었습니다. Waline 공식 문서를 참고해 배포하세요.

Vercel Deployment

1. LeanCloud 등록

Valine과 Waline은 모두 LeanCloud가 제공하는 클라우드 함수와 클라우드 데이터 저장 기능을 사용합니다. 일반 개발자라면 무료 버전으로 충분합니다.

😀 Zeabur 배포 방식을 사용한다면 LeanCloud를 별도로 등록할 필요가 없습니다.

APP ID와 APP Key 가져오기

1. 먼저 로그인하거나 회원가입한 뒤 `LeanCloud` 콘솔에 들어가 왼쪽 아래의 앱 만들기를 클릭합니다.

image

2. 방금 만든 앱에 들어가 왼쪽 아래의 `설정` > `앱 Key`를 선택하고 `APP ID`와 `APP Key`를 확인합니다.

Untitled

2. Waline 배포 방식

방식 1: Vercel 배포

이 방식은 현재 문제가 있을 수 있습니다. 아래 배포 이슈 설명을 참고하세요. 문제 원인은 공식 코드의 CORS 처리와 관련되어 있으며, 아직 완전히 해결되지 않았습니다.

Vercel 배포 이슈 설명

같은 문제가 발생할 수 있습니다. Vercel로 배포한 댓글 플러그인을 데스크톱에서 사용할 때 "네트워크 요청 오류, CORS 오류 때문에 Waline 서비스 요청이 허용되지 않음"이라는 메시지가 표시될 수 있습니다. Vercel 대시보드 로그에는 "응답 시간 초과"가 표시되고, 모바일 댓글에서도 Failed to fetch 오류가 발생할 수 있습니다.

가능한 원인은 두 가지입니다.

  1. URL 설정 오류입니다. 예를 들어 https://waline.tangly1024.com 끝에는 슬래시가 없어야 합니다.
  2. Vercel 또는 도메인 서비스 제공자 문제로 CORS 제한이 발생했습니다.

Untitled

  1. 이 링크를 클릭해 Waline을 원클릭 배포합니다.
2. 환경 변수 설정

Vercel 대시보드에서 방금 배포한 Waline 프로젝트로 이동한 뒤 SettingsEnvironment Variables를 찾습니다.

B60A41AC-6BC2-4F91-B3FB-FC742AD1BB27.png

환경 변수 LEAN_ID, LEAN_KEY, LEAN_MASTER_KEY 세 개를 설정합니다. 값은 이전 단계에서 LeanCloud에서 얻은 APP ID, APP KEY, Master Key에 각각 대응합니다.

Untitled

💡 주의:

LeanCloud 중국 내 버전을 사용한다면 LEAN_SERVER 환경 변수도 추가해야 합니다. 값은 연결한 도메인입니다. 그렇지 않으면 serverURL option is required for apps from CN region 오류가 표시될 수 있습니다. 자세한 내용은 이 Issue를 참고하세요.

마지막으로 프로젝트를 redeploy해 설정을 적용합니다.

Untitled

3. Waline 접근 주소 찾기

Vercel의 Overview에서 Visit을 클릭하거나 DOMAINS 아래의 도메인을 통해 Waline 서비스에 접근할 수 있습니다. 직접 도메인 매핑을 할 수도 있습니다. 문제가 있으면 공식 문서를 참고하세요.

Untitled

방식 2: Deta 배포

Vercel 서비스에 이상이 있다면 이 대체 배포 방식을 시도할 수 있습니다.

  1. 원클릭 배포를 클릭합니다. 가입하지 않았다면 먼저 가입하고 로그인해야 합니다.
  2. 관련 환경 변수를 설정하고 Deploy 버튼을 클릭해 배포합니다.

Untitled

  1. 배포 후 대시보드 오른쪽 위에서 접근 주소를 가져와 NotionNext에 설정합니다.

Untitled

방식 3: Railway 배포

이 방식은 블로거 D_super의 글 NotionNext Blog Waline Comment System을 참고하세요. 단계가 매우 자세합니다.

기타 배포 방식

공식 문서에 따르면 Vercel, Docker, Deta, CloudBase, Railway, Baidu Cloud Functions, Alibaba Cloud Functions 등 여러 배포 방식을 사용할 수 있습니다. 여기서는 Vercel과 Deta 두 가지 방식을 소개했습니다. 다른 방식은 공식 문서Server-side Introduction을 참고하세요.

배포 완료

Waline은 그 자체로 독립적인 댓글 페이지이며 어떤 웹 페이지에도 임베드할 수 있습니다. 예를 들어 배포한 Waline 서비스를 서브도메인에 매핑하면 주소는 https://waline.tangly1024.com처럼 됩니다.

Waline 기타 사용자 정의 설정

Waline은 많은 사용자 정의 설정을 지원합니다. 공식 문서를 참고하세요.

Server environment variables

환경 변수를 수정한 뒤에는 반드시 다시 배포해야 적용됩니다. Vercel에서는 SettingsEnvironment Variables에서 설정합니다.

  • 스팸 댓글 필터링
    Valine과 Waline 모두 Akismet의 스팸 댓글 필터링 기능을 사용할 수 있습니다. https://akismet.com에서 계정을 등록하면 무료 키를 받을 수 있습니다. Valine은 LeanCloud에 AKISMET_KEY 변수를 설정하고, Waline은 서비스 백엔드의 환경 변수에 설정합니다.

Untitled

  • 이메일 알림
    Valine-Admin을 함께 사용하면 몇 분 안에 관리 백엔드를 배포하고 Valine과 Waline의 이메일 알림을 지원할 수 있습니다. 배포 설정은 이 문서에서 자세히 다루지 않습니다. 공식 문서의 Cloud Engine one-click deployment 부분을 참고하세요.

💡 Waline의 네트워크 요청 안정성은 Valine보다 낮을 수 있습니다. Valine-Admin은 LeanCloud 백엔드에서 상세한 메일 발송 기록을 볼 수 있어 디버깅과 문제 추적에 편합니다.

  • LeanCloud 백엔드에서 메일 발송 상태를 확인하는 예시는 아래 이미지와 같습니다. 메일 발송에 실패해도 이곳에서 오류를 찾을 수 있습니다.

Untitled

3. NotionNext에서 Waline 설정

NotionNext(버전 3.3.9 이상)에서 Waline을 켜려면 Vercel 환경 변수에 Waline 접근 주소를 추가합니다.

waline 접근 주소는 이전 단계에서 배포한 Waline 페이지 주소입니다. Waline은 독립적인 댓글 페이지입니다.

위 변수를 설정한 뒤 다시 배포하면 됩니다.

원문 링크

https://docs.tangly1024.com/article/notion-next-waline