콘텐츠로 이동

개발 환경 준비

설정

HolyArrs를 소스에서 빌드하고 브라우저에서 포트 6262로 여세요.

시작하기 전에

시작하기 전에 링크
  • Go. go.mod에 적힌 버전.
  • Node 24와 npm.
  • 저장소 루트에서 연 터미널.

C 컴파일러는 필요 없습니다. 빌드는 CGO_ENABLED=0을 씁니다.

빌드하고 실행하기

빌드하고 실행하기 링크
  1. 웹 앱 패키지를 설치하세요:

    Terminal window
    npm --prefix app/frontend ci
  2. 웹 앱을 빌드하세요:

    Terminal window
    npm --prefix app/frontend run build

    빌드가 끝나고 app/frontend/dist에 파일이 채워집니다.

  3. 프로그램을 빌드하세요:

    Terminal window
    go build -o bin/holyarrs ./app/backend/cmd/holyarrs
  4. 자신의 설정 폴더로 실행하세요:

    Terminal window
    ./bin/holyarrs -config ./config
  5. http://localhost:6262를 여세요.

    첫 실행 마법사가 표시됩니다. 소유자 계정을 만드세요.

-config는 로컬 디스크의 폴더를 받으며 기본값은 /config입니다. -addr는 수신 주소를 바꾸며 기본값은 :6262입니다.

웹 앱 작업하기

웹 앱 작업하기 링크

프로그램은 계속 실행해 두세요. 두 번째 터미널에서 개발 서버를 시작하세요:

Terminal window
npm --prefix app/frontend run dev

개발 서버는 저장할 때마다 다시 불러오고, API 호출을 실행 중인 프로그램으로 보냅니다. 수정한 내용이 2 s 안에 브라우저에 보입니다.

Makefile 쓰기

Makefile 쓰기 링크
명령 하는 일
make ui 웹 패키지를 설치하고 웹 앱을 빌드
make build make ui 다음에 bin/holyarrs를 빌드
make test 25분 제한 시간으로 go test 실행
make vet go vet ./...
make docker 이미지를 holyarrs:dev로 빌드
make e2e 엔드투엔드 테스트 실행

보류된 기능 켜기

보류된 기능 켜기 링크

일부 기능은 보류되어 꺼진 상태로 있습니다. HOLYARRS_FLAGS에 쉼표로 구분해 이름을 적으세요:

Terminal window
HOLYARRS_FLAGS=subtitle_sites,ai_apps ./bin/holyarrs -config ./config

꺼져 있는 기능은 페이지에서 숨겨지고 그 경로도 존재하지 않습니다. 사용자용 설명은 보류된 기능에 있습니다.

라이브러리를 데모 데이터로 채우기

라이브러리를 데모 데이터로 채우기 링크

데모 도구는 설정 폴더를 데모 컬렉션으로 채웁니다. 중지된 HolyArrs에서만, 그리고 랩으로 표시한 폴더에서만 동작합니다. 한 번만 표시하면 됩니다:

Terminal window
go run ./app/backend/tools/demo seed -config ./config -init-lab

그런 다음 seed -config ./config는 데모 라이브러리를 추가하고, seed -config ./config -reset-demo는 자신이 추가한 것만 제거합니다. -force를 넘기지 않으면 미디어 폴더는 /data/media여야 합니다. 개발 도구는 이미지에 들어가지 않습니다. 개발 도구를 참고하세요.

문제가 생기면

문제가 생기면 링크

증상. 웹 앱을 바꿨는데 페이지가 예전 모습입니다. 원인. 프로그램은 자신에게 내장된 빌드를 제공합니다. 해결. 웹 빌드, Go 빌드를 차례로 실행한 다음 프로그램을 시작하세요.

증상. app/frontend/dist가 없어서 go build가 실패합니다. 원인. 웹 앱이 아직 빌드되지 않았습니다. 해결. 먼저 2단계를 실행하세요.

증상. 프로그램이 포트가 사용 중이라고 합니다. 원인. 다른 HolyArrs나 앱이 6262를 쓰고 있습니다. 해결. 다른 주소를 넘기세요: ./bin/holyarrs -config ./config -addr :6263.

보류 스위치
스위치 기능
plex_watchlists Plex 관심 목록이 요청으로 바뀝니다
row_title_stats 소유자를 위한 둘러보기 행 통계
trakt_lists Trakt 목록
alert_channels_more Discord와 이메일 외의 알림 채널
subtitle_sites 자막 사이트와 자막 검색
emby_signin Emby로 로그인
go_back 이전 버전으로 되돌리는 절차

스위치를 추가하려면 startup.RegisterFeature로 이름을 등록하고, 경로를 등록하기 전에 startup.FeatureOn을 확인하세요. 이름은 app/backend/internal/core/startup(feature.go)에 있습니다.

개발 도구
도구 명령 하는 일
데모 go run ./app/backend/tools/demo <command> -config DIR 중지된 설정 폴더에서 동작합니다. 명령: inspect(개수), fingerprint, query "SELECT ..."(읽기 전용), doctor, seed, showcase
가짜 자막 사이트 go run ./app/backend/tools/fakesubs 테스트용 가짜 자막 사이트를 127.0.0.1:18727에서 제공합니다. -addr로 주소를 옮기고, -accounts-addr로 계정 사이트 가짜를 추가합니다
경로 목록 go run ./app/backend/tools/apidoc API 라우트를 다시 씁니다
이미지 빌드하기
Terminal window
docker build --file deploy/Dockerfile --tag holyarrs:dev .
docker run -p 6262:6262 -v ./config:/config holyarrs:dev

이미지는 FROM scratch로 시작하며 프로그램, CA 인증서, 라이선스를 담고 있습니다. -config /config -addr :6262로 실행됩니다.

HolyArrs는 무료입니다. 시간을 아끼는 데 도움이 됐다면 GitHub에서 스타를 누르거나, 후원하거나, 커피 한 잔을 사 주세요.