개발 환경 준비
설정
HolyArrs를 소스에서 빌드하고 브라우저에서 포트 6262로 여세요.
시작하기 전에
시작하기 전에 링크- Go.
go.mod에 적힌 버전. - Node 24와 npm.
- 저장소 루트에서 연 터미널.
C 컴파일러는 필요 없습니다. 빌드는 CGO_ENABLED=0을 씁니다.
빌드하고 실행하기
빌드하고 실행하기 링크-
웹 앱 패키지를 설치하세요:
Terminal window npm --prefix app/frontend ci -
웹 앱을 빌드하세요:
Terminal window npm --prefix app/frontend run build빌드가 끝나고
app/frontend/dist에 파일이 채워집니다. -
프로그램을 빌드하세요:
Terminal window go build -o bin/holyarrs ./app/backend/cmd/holyarrs -
자신의 설정 폴더로 실행하세요:
Terminal window ./bin/holyarrs -config ./config -
http://localhost:6262를 여세요.첫 실행 마법사가 표시됩니다. 소유자 계정을 만드세요.
-config는 로컬 디스크의 폴더를 받으며 기본값은 /config입니다. -addr는 수신 주소를 바꾸며 기본값은 :6262입니다.
웹 앱 작업하기
웹 앱 작업하기 링크프로그램은 계속 실행해 두세요. 두 번째 터미널에서 개발 서버를 시작하세요:
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에 쉼표로 구분해 이름을 적으세요:
HOLYARRS_FLAGS=subtitle_sites,ai_apps ./bin/holyarrs -config ./config꺼져 있는 기능은 페이지에서 숨겨지고 그 경로도 존재하지 않습니다. 사용자용 설명은 보류된 기능에 있습니다.
라이브러리를 데모 데이터로 채우기
라이브러리를 데모 데이터로 채우기 링크데모 도구는 설정 폴더를 데모 컬렉션으로 채웁니다. 중지된 HolyArrs에서만, 그리고 랩으로 표시한 폴더에서만 동작합니다. 한 번만 표시하면 됩니다:
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 ./ |
중지된 설정 폴더에서 동작합니다. 명령: 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 라우트를 다시 씁니다 |
이미지 빌드하기
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에서 스타를 누르거나, 후원하거나, 커피 한 잔을 사 주세요.