Remark42 댓글 구현하기
Remark42 댓글(자체호스팅) + OAuth(구글/깃허브/X) 준비 체크리스트
목표: “댓글 기능을 바로 붙이진 않더라도”, 나중에 Publii에 쉽게 연결할 수 있게
Remark42 서버와 OAuth 연동까지 미리 준비해두기.
0) 결정해야 할 것 (먼저 정하기)
- 댓글 서버 도메인 정하기 (예:
comments.wdk.kr) - 블로그 도메인(실제 글이 올라갈 도메인) 확인 (예:
wdk.kr/blog.wdk.kr) - Remark42
site_id정하기 (예:wdkblog)- 나중에 여러 사이트 붙일 수도 있으니 식별자처럼 짧고 고유하게.
- 로그인 정책
- 익명 OFF (권장)
- 이메일 로그인 OFF (권장)
- OAuth만 ON (Google/GitHub/X)
1) Remark42 서버 띄우기 (OAuth 키 없어도 우선 구동 가능)
- Remark42 데이터 디렉터리 만들기 (예:
./remark42/data) -
SECRET생성 (길고 랜덤하게) - Docker Compose로 remark42 컨테이너 구성
-
REMARK_URL=https://comments... -
SITE=... -
AUTH_ANON=false -
AUTH_EMAIL_ENABLE=false -
AUTH_GITHUB=true -
AUTH_GOOGLE=true -
AUTH_TWITTER=true -
ADMIN_SHARED_EMAIL=내 이메일
-
이 단계에서는 OAuth Client ID/Secret이 아직 없어도 컨테이너 구동 자체는 미리 준비할 수 있음.
2) HTTPS 도메인 연결 (댓글 서버는 반드시 https가 편함)
- DNS에 댓글 서버 도메인 A/AAAA 레코드 설정 (예:
comments.wdk.kr -> 서버 IP) - Nginx 리버스 프록시 설정
-
comments 도메인 -> remark42:8080프록시
-
- TLS 인증서 준비
- Certbot(LE) 또는 Cloudflare 방식 중 선택해서 https 적용
- 브라우저에서
https://comments...접속이 되는지 확인
3) OAuth 앱 등록 (핵심 준비 작업)
여기서부터 “나중에 댓글 붙일 때” 가장 시간을 잡아먹는 파트.
3-1) GitHub OAuth App 만들기
- GitHub → Settings → Developer settings → OAuth Apps → New OAuth App
- Homepage URL: 블로그 주소
- Authorization callback URL:
-
https://comments.도메인/auth/github/callback
-
- Client ID / Client Secret 발급받기
- (선택) GitHub 계정 이메일 공개/비공개 설정 확인
- 관리자 권한 매칭에 영향 줄 수 있음.
3-2) Google OAuth(Cloud Console) 만들기
- Google Cloud Console에서 프로젝트 생성/선택
- OAuth 동의 화면 구성(External)
- Credentials → OAuth client ID 생성(Web)
- Authorized redirect URIs:
-
https://comments.도메인/auth/google/callback
-
- Client ID / Client Secret 발급받기
3-3) X(Twitter) Developer App 만들기
- X Developer Portal에서 App 생성
- OAuth 설정(가능 범위 확인)
- Redirect/Callback URL:
-
https://comments.도메인/auth/twitter/callback
-
- Client ID / Client Secret 발급받기
- (주의) X는 정책/플랜 변경이 잦아서 “무료로 가능한지”를 먼저 확인
4) Remark42에 OAuth 키 주입(환경변수)
- GitHub Client ID/Secret 환경변수 추가
- Google Client ID/Secret 환경변수 추가
- X Client ID/Secret 환경변수 추가
- 컨테이너 재시작 후 로그인 버튼이 뜨는지 확인
⚠️ 환경변수 이름은 Remark42 버전에 따라 약간 다를 수 있음
(예:AUTH_GITHUB_CIDvsAUTH_GITHUB_ID등).
실제 적용 전에umputun/remark42문서/컨테이너 help로 한 번 정확히 맞추기.
5) (나중에) Publii에 붙이기 준비만 해두기
- Publii → “사용자 지정 HTML”에서 넣을 위치 확인:
-
포스트 후(글 본문 아래)
-
- 나중에 삽입할 기본 위젯 코드 초안 메모해두기
- host:
https://comments... - site_id:
wdkblog - url 키:
window.location.origin + window.location.pathname
- host:
6) 점검/운영 체크(권장)
- 백업:
./remark42/data정기 백업(스냅샷/rsync 등) - 관리자 계정 확인:
ADMIN_SHARED_EMAIL이 실제 OAuth 제공 이메일과 매칭되는지 - 스팸 대비: 익명 OFF 유지(권장)
- 업데이트 정책: image 업데이트 주기 정하기 (너무 자주-너무 드물게 사이 타협)
나중에 댓글 붙일 때 최종 확인 3가지
-
https://comments.도메인이 https로 정상 접속된다 - OAuth 로그인 1회 이상 성공한다
- Publii 글 주소가 고유하게 댓글 스레드로 매핑된다 (url 키)


