Discourse용 ImgLink 플러그인 (호스팅 이미지 워크플로 + 관리자 진단)

요약

ImgLink 미디어 업로드 통합 플러그인. Discourse용이며, 스코프 지정 API 키, 재시도 처리, 관리자 진단 기능을 제공합니다.


저장소 링크

https://github.com/imglink12x/discourse-plugin


설치 가이드

  1. Discourse 컨테이너에 SSH로 로그인:

  2. app.yml 파일에 플러그인 추가:

  3. 컨테이너 재빌드:

  4. ImgLink API 키 설정 (관리자 설정에서, 아래 구성 섹션 참조)

상세 설정 방법: https://imglink.cc/tools/forum-plugins


기능

  • 컴포저에서 직접 업로드 — Discourse 게시물 작성기에서 이미지를 직접 업로드

  • 스코프 지정 API 키 — 제한된 권한의 자격 증명을 사용하며, 전체 계정 접근 권한이 필요 없음

  • 직접 링크 및 뷰어 링크 — 직접 CDN 링크와 이미지 뷰어 URL을 모두 반환

  • 재시도 + 멱등성 — 불안정한 연결을 위한 자동 재시도 로직, 중복 업로드 방지

  • 관리자 진단 — API 인증, 연결성, 업로드 권한을 검증하기 위한 내장된 헬스 체크 기능

  • BBCode 출력 — 내장 게시를 위한 자동 BBCode 포맷팅

  • 에러 로깅 — 업로드 실패 문제 해결을 위한 상세 로그


구성

1단계: ImgLink API 키 생성

  1. ImgLink에 로그인 (https://imglink.cc)

  2. 설정 → API 키로 이동

  3. 다음 스코프를 가진 새 키 생성:

    • upload:create

    • image:delete (선택 사항, 정리 워크플로우용)

  4. API 키 복사

2단계: Discourse 관리자 설정에 추가

  1. 관리자 → 설정 → 플러그인으로 이동

  2. ImgLink 설정 영역으로 스크롤

  3. imglink_api_key 필드에 API 키를 붙여넣기

  4. (선택 사항) 자체 호스팅된 ImgLink 인스턴스를 사용하는 경우 imglink_api_endpoint 설정

  5. 저장

3단계: 진단 실행

  1. 관리자 → 플러그인 → ImgLink 설정으로 이동

  2. 구성을 검증하려면 “연결 테스트” 클릭

  3. “✓ 연결 성공” 메시지가 표시되어야 합니다


설정 항목

설정 이름 유형 기본값 설명
imglink_api_key 문자열 (비어 있음) upload:create 스코프가 있는 ImgLink API 키
imglink_api_endpoint 문자열 https://imglink.cc/api/v1 ImgLink API 기본 URL (자체 호스팅이 아닌 경우 기본값 유지)
imglink_max_retries 정수 3 업로드 실패 시 재시도 횟수
imglink_retry_delay 정수 1000 재시도 시도 사이의 대기 시간 (밀리초)
imglink_timeout_ms 정수 30000 업로드 요청 타임아웃 (30초)
imglink_enable_diagnostics 불리언 true 관리자 진단 도구 및 로그 활성화
imglink_enable_direct_links 불리언 true 뷰어 래핑된 링크 대신 직접 CDN 링크 반환

버전 호환성: Discourse 2.8+ | 마지막 업데이트: 2026년 3월 | 지원: https://imglink.cc/tools/forum-plugins

이 주제에서 왜 이런 태그들을 선택하셨나요? 무작위로 태그를 선택하는 것은 플러그인이 신뢰할 수 있어 보이도록 돕지 않습니다.

또한 대부분의 링크가 작동하지 않습니다:


설정은 어디에 있나요? 보통 config 폴더의 설정 파일에서 볼 수 있는데, 예를 들어 다음과 같습니다:

3개의 좋아요

안녕하세요 @A_Richards. 게시글에 붙여진 태그들이 스팸성 내용과 관련이 없어 제거했습니다. 또한 코드를 확인해 보니, 위와 같이 설명된 대로 플러그인이 설정 가능한 옵션을 갖도록 제대로 구성되지 않았습니다.

플러그인을 더 잘 만들기 위해 여기에서 시작해 보세요:

3개의 좋아요

이 사용자는 자신의 로컬을 가리키는 링크를 덮어씁니다

1. ImgLink에 로그인합니다 ([https://imglink.cc](vscode-file://vscode-app/c:/Users/andre/AppData/Local/Programs/Microsoft%20VS%20Code/07ff9d6178/resources/app/out/vs/code/electron-browser/workbench/workbench.html))

이 시점에서 이들을 악성이라고 부르는 것이 합리적입니다.