프로젝트 소개

Lemmy UI는 Fediverse용 링크 수집기이자 포럼인 Lemmy의 공식 웹 애플리케이션입니다. Lemmy는 Reddit, Lobste.rs 또는 Hacker News와 비슷합니다. 사용자는 포럼에 구독하고, 링크와 토론을 게시한 후 투표하고 댓글을 답니다. 차이점은 아키텍처에 있습니다. 누구나 서버를 실행할 수 있고, 서버는 이메일처럼 서로 연합(federate)하므로, 한 인스턴스에 등록된 사용자는 다른 인스턴스의 커뮤니티에 구독하고 다른 곳의 사용자와 토론할 수 있습니다. 이는 기업 통제 밖의, 쉽게 자체 호스팅할 수 있는 분산형 대안으로 자리 잡고 있으며, 각 서버는 자체 중재 정책을 설정하고 사이트 전체 관리자와 커뮤니티 중재자를 임명합니다. 이 저장소는 프론트엔드만 포함하며, 백엔드는 별도의 LemmyNet/lemmy 저장소에 있습니다. UI는 MrFoxPro의 inferno-isomorphic-template을 기반으로 Inferno로 렌더링되는 동형(isomorphic) Node 서버이며, Feather Icons의 아이콘을 사용합니다. 개발에는 pnpm이 필요합니다. 일반적인 흐름은 저장소를 재귀적으로 클론하고, 의존성을 설치하고, LEMMY_UI_BACKEND를 Lemmy 인스턴스(공개 테스트 인스턴스인 voyager.lemmy.ml 권장)를 가리키도록 설정한 후 dev 서버를 실행하고 localhost:1234를 여는 것입니다. 문서는 로컬로 컴파일된 백엔드에 대한 개발 방법을 다룹니다. 구성은 환경 변수로 처리됩니다. 여기에는 바인드 주소와 포트용 LEMMY_UI_HOST, 브라우저에서 접근 가능한 기본 URL용 LEMMY_UI_FRONTEND, 브라우저와 서버가 각각 사용하는 백엔드 URL용 LEMMY_UI_BACKEND 및 LEMMY_UI_BACKEND_INTERNAL, 기본 프로토콜 선택용 LEMMY_UI_HTTPS, 추가 CSS 테마용 LEMMY_UI_EXTRA_THEMES_FOLDER, CSP 보안 헤더 비활성화용 LEMMY_UI_DISABLE_CSP, 문서 헤드에 사용자 정의 스크립트를 주입하기 위한 LEMMY_UI_CUSTOM_HTML_HEADER가 포함됩니다. 디버깅 변수에는 모바일 브라우저 콘솔용 LEMMY_UI_ERUDA, 정확한 스택 추적용 LEMMY_UI_SOURCE_MAPS, CSS 맵 파일 제공용 LEMMY_UI_SERVE_CSS_MAPS, 응답 본문 압축용 LEMMY_UI_COMPRESSION이 있습니다. 프로젝트는 가입 및 문서를 위한 join-lemmy.org, 커뮤니티 지원을 위한 Matrix 채팅, 버그 보고 및 기능 요청을 위한 GitHub 이슈, 릴리스 노트, 행동 강령을 연결합니다. 번역은 Weblate를 통해 조정되며, 컨테이너 이미지는 Docker Hub에 게시됩니다.