-
hanyul released this
2026-10-17 08:40:30 +09:00 5.7.0 대비 변경사항
crawler · 완료 작품 metadata 재확인
- 확인 하나가 끝나면 30초를 쉬지 않고 바로 다음 작품을 확인합니다. 빠른 응답(연속 404 등)이 이어져도 요청 시작 간격은 수집 metadata lane과 같은 100ms 이상을 지키며, 429·503 보호 회로와 수집 중 대기·한 바퀴 뒤 자동 정지는 그대로입니다. 운영 68,500개 한 바퀴가 약 24일에서 수 시간으로 줄어듭니다. 진행 중이던 바퀴는 저장된 위치에서 이어집니다.
- 운영 화면 재확인 패널의 설명 단락을 지웠습니다.
web · 홈
- 정렬 드롭다운을 없애고 갤러리 ID 내림차순 하나로 고정했습니다. 그 자리의
무작위버튼을 누르면 무작위 순서로 보고, 다시 누르면 다시 섞입니다. 무작위 상태에서필터 초기화나 로고를 누르면 갤러리 ID 정렬로 돌아갑니다. 옛 링크의sort=recent·sort=pages는 기본 정렬로 열립니다. - 카테고리 검색: 검색창에
아티스트 CG나artistcg를 치면 태그처럼 카테고리 제안이 나오고, 선택하면category:"artistcg"조건으로 그 카테고리 작품만 봅니다. 제외(-)도 태그와 같습니다.
web · 북마크
작가·그룹 작품탭: 북마크한 모든 작가·그룹의 작품을 홈처럼 하나의 grid(source ID 내림차순, 무한 스크롤)로 보고, 위의 칩으로 한 작가·그룹만 볼 수 있습니다. 북마크가 200명을 넘으면 최근 추가한 200명만 합치고 나머지는 칩으로 고릅니다. 개인·전역 차단이 바뀌면 다시 조회합니다.- 갤러리 북마크 정렬에서
페이지 수를 뺐습니다. 저장된 선택은 기본값으로 읽습니다.
API
GET /api/galleries·POST /api/galleries/search의tags·excludeTags가 pseudo-namespacecategory:"<코드|표시 이름>"을 받습니다. 모르는 포함 값은 결과 없음, 모르는 제외 값은 무시합니다.GET /api/tags/search?groupBy=name자동완성이 일치하는 카테고리를namespace: 'category'항목으로 앞에 돌려줍니다(공개 노출 작품 수, 60초 cache).POST /api/galleries/creator-feed(공개 query, weight는creator-previews와 같음):creators(1200)·60)·page·limit(1includeBlocked로 여러 작가·그룹의 작품을 합쳐 돌려줍니다.
문서·테스트
- 크롤러 복구·API 계약·운영 가이드·아키텍처·개인화 설계 문서를 새 동작에 맞췄습니다. 통합 브라우저 스크립트를 새 UI에 맞추고, runner에서 5초 timeout에 걸리던 이미지 검색 animated GIF spec의 fixture를 줄였습니다.
기존 데이터·배포 계약을 유지하는 기능 추가라 minor 5.8.0을 적용합니다. 필수 환경 변수·수동 전환·데이터 재설정·DB migration이 없습니다. 제품 버전은 Git 태그·OCI label·문서로 관리하며 private package와 lockfile의 버전은 유지합니다.
이미지 게시 범위
- 새로 빌드(5.8.0·latest): backend(category 필터·자동완성·creator-feed), crawler(재확인 간격·pacing), web(홈 무작위 버튼·카테고리 제안·북마크 모아보기).
- digest 재사용: nginx(5.6.1 digest), byedpi(5.4.0 digest). 빌드 입력이 같아 기존 digest에
5.8.0·latest태그만 붙였습니다. 재사용 이미지의 OCIversion·revisionlabel은 원래 빌드 값으로 남습니다. - 모든 자체 이미지에 5.8.0 태그가 있으므로
IMAGE_TAG=5.8.0을 지정할 수 있습니다.
NAS 업데이트와 주의사항
운영자는 운영 반영을 따릅니다.
- Compose 변경 없음:
compose.yml·.env.example은 5.7.0과 같습니다. - DB migration 없음: backend 이미지는 다시 빌드되지만 새 migration은 없습니다.
- crawler 재시작: crawler 이미지 교체로 crawler가 재시작되면 실행 중이던 수집 job은 기동 복구 규칙에 따라
stopped(중단)로 정리됩니다. Hitomi는 자동 재개·20시 예약으로 이어지지만 E-Hentai는 자동 재개가 없으므로 운영 화면에서 수동으로 재개해야 합니다. 완료 작품 metadata 재확인은 저장된 위치에서 새 간격으로 이어집니다. - rollback: migration이 없어 5.7.0 이미지로 되돌릴 수 있습니다. 5.7.0 web은
category:조건·작가·그룹 작품탭이 없을 뿐 저장값은 그대로 읽습니다. - 로그인 cookie는 그대로 유효하며 다시 로그인할 필요가 없습니다.
NAS 배포는 게시 직후 같은 작업에서 진행합니다.
latest를 승격했으므로 Watchtower가 켜진 운영 서버는 스스로 5.8.0으로 교체할 수 있습니다.검증
- 최종 main
0d776e82(앱 코드는 릴리스 commitbea367a8·b959f18f과 같은 트리)에서run-unit.ps1 -Workspace all(backend 80 suites·615 tests, crawler 69·905, web 134·1,684)이 통과했고, 앱 코드가 같은 테스트 브랜치7bdcdc71에서run-integration.ps1(API·브라우저·crawler runtime·Push 재시도)이 통과했습니다. - 개발 stack을 재빌드해 전 서비스 healthy를 확인했고, 실제 API로 카테고리 제안(
아티→아티스트 CG)·category:"manga"필터·모르는 카테고리 0건을 확인했습니다. - 각 변경은 Orca 워커 브랜치에서 구현 뒤 읽기 전용 리뷰를 거쳐 병합했습니다(재확인 간격·북마크 모아보기는 지적 수정 뒤 2라운드 통과). DB schema·Compose·Nginx는 바뀌지 않아
run-schema.ps1·run-compose-compat.ps1·run-upgrade.ps1·run-crawler-recovery.ps1과 실제 Hitomi·E-Hentai 전송 runner, 브라우저 수동 확인,creator-feed의 운영 규모 실행 계획 측정은 NOT RUN입니다.
게시 확인
- 릴리스 소스:
bea367a86321ae44660b33715a50eab7b8d50bf1(annotated Git 태그5.8.0대상). - backend
5.8.0·latest:sha256:f01204b9b831ef7eba2613ec716ce3328e901ea4315776549150449cdcf24caf- linux/amd64 manifest:
sha256:c316be0fda363060496fcc87ab81c52217e66f7cd99d26bf2b26da55cb1225a8 - OCI version
5.8.0·revisionbea367a86321ae44660b33715a50eab7b8d50bf1 - 입력 지문
60d8f467a3791b21328211184756e7e4df765c27c9578524a228abbcf8a5230b
- linux/amd64 manifest:
- crawler
5.8.0·latest:sha256:a7759c4dd73c4b5d268a6e85b3b5ca4408c6a1d6700640db99a1cead57a47f98- linux/amd64 manifest:
sha256:02465405367742dd29bf6c83ffdd556ce15b1257d8aba6ff9e004d5f556672a4 - 입력 지문
5cc4302225f521098377c1095ee8c96fd30d82e6da0988829ed1d09490ca3382
- linux/amd64 manifest:
- web
5.8.0·latest:sha256:c8a824b05a49c9e63b6c532eb221b1cab4fdd871f00f021c9e9eff7fe2f670a3- linux/amd64 manifest:
sha256:30a7d9f3d4e9c2346425afa283ae7a4c665312690c8a4367b20f6e0aaae58e83 - 입력 지문
1d56323b626f5cc3b99ca177ba67b3b28aa951477febe89dc369c63c846107fb
- linux/amd64 manifest:
- nginx
5.8.0·latest(5.6.1 digest 재사용):sha256:a42874d3d8e4304ca0d6ba6f67b073232b3d15489fd373f0efcf40e706a5b78c - byedpi
5.8.0·latest(5.4.0 digest 재사용):sha256:04cf2838499d67a033a3c3101913563bf983e551fee27b891dab0d2f75a4233a ops/publish-images.ps1 -Version 5.8.0 -Publish로 backend·crawler·web을 새로 빌드·게시하고 nginx·byedpi는 기존 digest에 버전 태그를 붙였습니다. 버전 태그 게시 뒤 같은 digest로latest를 승격했고, 다섯 서비스의5.8.0·latest일치를 최종 검증했습니다(Registry tags verified for 5.8.0.). 재시도 없이 한 번에 완료했습니다.
Downloads 2
-
Source code (zip)
0
2026-10-17 08:40:30 +09:00 -
Source code (tar.gz)
0
2026-10-17 08:40:30 +09:00