Releases

  • 6.6.2

    6.6.2 주요 변경사항

    오프라인 배너 오탐, 수집 중 상태 문구, 패스키 등록 아이디 입력을 고친 6.6.2입니다.

    화면

    • 실제로 연결이 끊긴 경우에만 오프라인 상태입니다. 연결되면 이어서 불러옵니다.를 표시합니다. 브라우저가 오프라인이라고 알려도 GET /api/health/live로 먼저 확인하고, 응답 없이 실패할 때만 오프라인으로 봅니다. API 응답이 하나라도 도착하면 바로 사라집니다.
    • 같은 판정을 조회 일시정지와 연결 복귀 재시도에도 써서, 연결된 상태에서 조회가 멈추지 않습니다.

    로그인

    • 가입의 패스키 등록 버튼은 아이디가 3자 미만이면 비활성입니다. 같은 칸이 관리자 보안 키도 받으므로 그 밖의 아이디 규칙은 서버가 확인합니다.

    운영 화면

    • Hitomi·E-Hentai 수집이 실행 중이면 상태 문구를 표시하지 않습니다. 재개 대기·보호 대기·오류·예약 건너뜀·완료 문구는 그대로 보입니다.
    • Hitomi 수집을 시작하거나 재개해도 시작했습니다·재개했습니다 문구를 남기지 않습니다.

    이미지

    backend(log-reader)·crawler·web을 새로 빌드했고, nginx·byedpi는 직전 이미지에 6.6.2 태그를 붙였습니다. 다섯 서비스 모두 6.6.2와 latest를 가집니다.

    NAS 업데이트와 주의사항

    운영은 운영 반영을 따릅니다.

    • rollback: IMAGE_TAG=6.6.1 sh ops/deploy-production.sh로 되돌릴 수 있습니다.
    Downloads 2
  • 6.6.1

    6.6.1 주요 변경사항

    운영 화면의 가비지 컬렉션 영역을 정리하고 Hitomi 재개 뒤 남던 대기 문구를 고친 6.6.1입니다.

    운영 화면

    • 가비지 컬렉션 정리 대상에서 불완전한 갤러리 항목을 숨겼습니다. 정리 명령에 포함되지 않는 통계라 화면에서 뺐고, 상태 API의 orphaned 값은 그대로 남습니다.
    • 남은 세 항목(삭제 대기 이미지·블랙리스트 갤러리·완료 상태 불일치)을 한 줄에 배치했습니다.

    수집

    • Hitomi 체크포인트를 재개해 수집이 진행 중인데도 크롤러가 재시작되어 체크포인트 재개를 기다리고 있습니다.가 계속 보이던 문제를 고쳤습니다. 관리자·예약·자동 재개 모두 재개할 때 Hitomi 수집 작업을 재개했습니다.로 바뀝니다.

    이미지

    backend(log-reader)·crawler·web을 새로 빌드했고, nginx·byedpi는 직전 이미지에 6.6.1 태그를 붙였습니다. 다섯 서비스 모두 6.6.1과 latest를 가집니다.

    NAS 업데이트와 주의사항

    운영은 운영 반영을 따릅니다.

    • rollback: IMAGE_TAG=6.6.0 sh ops/deploy-production.sh로 되돌릴 수 있습니다.
    Downloads 2
  • 6.6.0

    6.6.0 주요 변경사항

    검색창 태그 추천을 분류별로 나누고 보조 줄에 작품 수를 다시 표시하는 6.6.0입니다.

    검색

    • 같은 이름이 여러 분류에 있으면 분류마다 따로 추천합니다. 예: sailor moon은 패러디 · 작품 133개와 캐릭터 · 작품 24개 두 항목으로 보입니다.
    • 추천을 고르면 그 분류의 태그 조건(parody:"sailor moon")이 적용됩니다. 이전에는 분류 없이 이름만으로 검색했습니다.
    • 보조 줄은 분류 · 원문 이름(번역된 경우) · 작품 N개 순서입니다. 카테고리 추천은 카테고리 · 작품 N개로 보입니다.

    API

    • GET /api/tags/search?groupBy=name이 이름별로 묶지 않고 분류별 tag를 반환합니다(namespace는 실제 분류, galleryCount=usageCount). 응답의 namespaces 필드를 제거했습니다.

    이미지

    backend(log-reader)·web을 새로 빌드했고, crawler·nginx·byedpi는 직전 이미지에 6.6.0 태그를 붙였습니다. 다섯 서비스 모두 6.6.0과 latest를 가집니다.

    NAS 업데이트와 주의사항

    운영은 운영 반영을 따릅니다.

    • rollback: IMAGE_TAG=6.5.0 sh ops/deploy-production.sh로 되돌릴 수 있습니다.
    Downloads 2
  • 6.5.0

    6.5.0 주요 변경사항

    자동 증분 수집 시각을 조정하고 E-Hentai 예약 증분을 추가했으며, Hitomi·E-Hentai 수집 상태 화면을 같은 용어와 항목으로 맞춘 6.5.0입니다.

    자동 증분 수집

    • Hitomi 예약 증분이 매일 19:30(Asia/Seoul)에 실행됩니다(이전 20:00).
    • E-Hentai 예약 증분을 매일 21:30에 추가했습니다. 관리자 시작과 같은 경로로 새 incremental만 시작합니다.
    • E-Hentai 예약은 진행 중이거나 재개 대기인 작업, 보호 대기, 증분 기준선 없음 중 하나라도 해당하면 기존 작업을 건드리지 않고 그날 실행을 건너뜁니다. 건너뛴 사유와 다음 실행 시각은 상태 API(nextRunAt·scheduledSkip)와 운영 화면에 보입니다.
    • 증분 기준선은 full이 검색 끝까지 완료되어야 생기므로, 진행 중인 E-Hentai full이 끝나기 전까지 21:30 예약은 건너뜀으로 기록됩니다.

    운영 화면

    • Hitomi·E-Hentai 수집 상태가 같은 항목과 순서로 보입니다: 실행 모드, 수집 목표, 현재 갤러리, 현재 단계, 최신 ID, 마지막 처리 ID, 이미지 진행, 다음 자동 실행, 마지막 성공.
    • 수집 목표 문구를 통일했습니다. 전체 수집은 최신 ID부터 1까지, 증분 수집은 증분 기준선 이후입니다.
    • E-Hentai에 최신 ID·마지막 처리 ID·다음 자동 실행을 표시하고 목록 위치를 지웠습니다. E-Hentai 상태 API에 latestKnownGid·lastProcessedGid를 추가했습니다.

    이미지

    backend(log-reader)·crawler·web을 새로 빌드했고, nginx·byedpi는 직전 이미지에 6.5.0 태그를 붙였습니다. 다섯 서비스 모두 6.5.0과 latest를 가집니다.

    NAS 업데이트와 주의사항

    운영은 운영 반영을 따릅니다.

    • rollback: IMAGE_TAG=6.4.0 sh ops/deploy-production.sh로 되돌릴 수 있습니다.
    Downloads 2
  • 6.4.0

    6.4.0 주요 변경사항

    crawler의 직접 인터넷 경로를 막아 byedpi만 외부로 나가게 하는 6.4.0입니다.

    네트워크

    • 2exhentai_network(postgres·redis·minio·backend·crawler)를 내부 전용(internal)으로 바꿨습니다. backend는 기존처럼 2exhentai_edge로 외부에 연결합니다(릴리스 확인·Turnstile·웹 푸시).
    • crawler와 byedpi 사이는 새 내부 전용 네트워크 2exhentai_crawler_proxy로 연결하고, 외부 연결은 byedpi 전용 2exhentai_byedpi_egress만 씁니다. 2exhentai_crawler_egress는 없어졌습니다.
    • crawler가 직접 외부에 연결하면 실패하고, Hitomi·E-Hentai 요청은 byedpi를 통해서만 나갑니다. crawler의 외부 DNS 설정도 지웠습니다.

    이미지

    backend(log-reader)를 새로 빌드했고, crawler·web·nginx·byedpi는 직전 이미지에 6.4.0 태그를 붙였습니다. 다섯 서비스 모두 6.4.0과 latest를 가집니다.

    NAS 업데이트와 주의사항

    운영은 운영 반영을 따릅니다.

    • 새 compose.yml·ops/deploy-production.sh로 배포합니다. 기존 네트워크는 내부 전용으로 바꿀 수 없어, 배포 스크립트가 처음 한 번 postgres·redis·minio·backend·crawler·byedpi를 멈추고 이전 네트워크를 지운 뒤 새 네트워크로 다시 띄웁니다. backend가 다시 healthy가 될 때까지 몇 분간 서비스가 멈춥니다. 데이터 디렉터리는 그대로입니다.
    • 이전 네트워크에 이 배포 밖의 컨테이너가 붙어 있으면 아무것도 멈추지 않고 종료하므로, 그 컨테이너를 분리한 뒤 다시 실행합니다.
    • rollback: IMAGE_TAG=6.3.0으로 되돌릴 때는 운영 반영의 rollback 안내를 따릅니다.
    Downloads 2
  • 6.3.0

    6.3.0 주요 변경사항

    Hitomi·E-Hentai 수집 요청을 항상 ByeDPI로 보내는 6.3.0입니다.

    수집 전송

    • Hitomi·E-Hentai의 모든 요청(목록·detail·API·스크립트·이미지)이 ByeDPI SOCKS proxy로만 나갑니다. 직접 연결을 먼저 시도하거나 직접 연결로 되돌아가지 않습니다.
    • E-Hentai 전송 실패: ByeDPI로 재시도합니다 같은 fallback 로그가 없어졌습니다.
    • ByeDPI에 연결할 수 없으면 proxy-unavailable로 분류해 수집을 멈추고, 연결 reset·timeout은 일반 재시도로 처리합니다.
    • EHENTAI_DPI_PROXY_URL·HITOMI_DPI_PROXY_URL이 비어 있으면 그 source의 요청을 보내지 않고 오류로 남깁니다(Compose 기본값은 socks5h://byedpi:1080).

    운영 화면

    • 정리 패널의 완료 상태 불일치에서 잘못된 완료 확인 시각 표기를 지웠습니다.

    이미지

    backend(log-reader)·crawler·web을 새로 빌드했고, nginx·byedpi는 직전 이미지에 6.3.0 태그를 붙였습니다. 다섯 서비스 모두 6.3.0과 latest를 가집니다.

    NAS 업데이트와 주의사항

    운영은 운영 반영을 따릅니다.

    • 새 compose.yml로 배포합니다. crawler 환경에서 HITOMI_DPI_CIRCUIT_TTL_MS·HITOMI_DPI_RESET_THRESHOLD·HITOMI_DPI_PROXY_HOSTS가 빠졌습니다. .env.production에 남아 있어도 무시되며 지워도 됩니다.
    • rollback: IMAGE_TAG=6.2.1 sh ops/deploy-production.sh로 되돌릴 수 있습니다.
    Downloads 2
  • 6.2.1

    6.2.1 주요 변경사항

    검색창 태그 추천에 작품 수 대신 태그 분류를 보여 주는 6.2.1입니다. 데이터와 schema는 바뀌지 않습니다.

    검색

    • 홈 검색창의 태그 추천 보조 줄이 작품 N개 대신 패러디·작가·캐릭터·그룹·여성·남성 같은 분류를 보여 줍니다. 같은 이름이 여러 분류에 있으면 패러디 · 캐릭터처럼 함께 표시합니다.
    • 번역된 태그는 분류 옆에 원문 이름을 계속 보여 주고, 카테고리 추천은 카테고리로 표시합니다.
    • GET /api/tags/search의 이름별 추천 항목에 그 이름이 속한 분류 목록 namespaces를 추가했습니다. 기존 필드는 그대로입니다.

    반영 SQL

    없습니다.

    이미지

    backend(log-reader)·web을 새로 빌드했고, crawler·nginx·byedpi는 직전 이미지에 6.2.1 태그를 붙였습니다. 다섯 서비스 모두 6.2.1과 latest를 가집니다.

    NAS 업데이트와 주의사항

    운영은 운영 반영을 따릅니다.

    • 새 환경 키와 Compose 변경은 없습니다.
    • rollback: schema 변경이 없으므로 IMAGE_TAG=6.2.0 sh ops/deploy-production.sh로 되돌릴 수 있습니다.
    Downloads 2
  • 6.2.0

    6.2.0 주요 변경사항

    이미지 검색의 영역 선택 기능을 없애고, 프로젝트 문서를 현재 코드에 맞춰 정리한 6.2.0입니다. 기존 데이터와 schema는 바뀌지 않습니다.

    제거한 기능·API

    • 홈 이미지 검색의 영역 선택 창과 선택 영역 재검색을 지웠습니다. 결과 위의 선택 영역 안내 문구도 없어졌습니다.
    • POST /api/image-search는 image 파일 하나만 받습니다. crop 필드를 포함해 이미지 외 필드를 보내면 400입니다.
    • 응답 query.region은 original·trimmed만 반환합니다(cropped 제거).
    • 어두운 테두리·상태 표시줄 자동 제거, 좌우 반전, 가로로 긴 영역의 90° 회전 검색과 browser 축소는 그대로입니다.

    문서

    • docs/, .agents/, README.md, AGENTS.md, tests/README.md를 현재 코드·설정·배포 방식에 맞추고, 긴 문단을 표·목록·단계로 나눠 읽기 쉽게 정리했습니다.

    반영 SQL

    없습니다.

    이미지

    backend(log-reader)·crawler·web을 새로 빌드했고, nginx·byedpi는 6.1.0 이미지에 6.2.0 태그를 붙였습니다. 다섯 서비스 모두 6.2.0과 latest를 가집니다.

    NAS 업데이트와 주의사항

    운영은 운영 반영을 따릅니다.

    • 새 환경 키와 Compose 변경은 없습니다.
    • web과 backend를 함께 배포합니다. 배포 전에 열어 둔 화면에서 영역 선택 재검색을 보내면 400이 나며, 새로고침하면 해결됩니다.
    • rollback: schema 변경이 없으므로 IMAGE_TAG=6.1.0 sh ops/deploy-production.sh로 되돌릴 수 있습니다.
    Downloads 2
  • 6.1.0

    6.1.0 주요 변경사항

    쓰지 않는 기능과 이전 버전 호환 코드를 정리하고, 이미지를 버전 태그로만 관리하도록 게시·배포를 바꾼 6.1.0입니다. 기존 데이터는 그대로 유지되며, 앱이 읽지 않던 테이블·컬럼만 지웁니다.

    제거한 기능·API

    • 상세 창의 비슷한 작품 줄과 GET /api/galleries/:id/related를 지웠습니다.
    • GET /api/health/detailed를 지웠습니다. 구성 요소 상태는 /api/health/dependencies, 버전은 운영 화면의 버전·릴리스에서 확인합니다.
    • 이전 화면용 orphan audit 단일 batch 경로(POST /api/crawler/garbage-collection/orphan-audit)를 지웠습니다. 운영 화면은 백그라운드 실행(orphan-audit/run·stop)만 씁니다.
    • 작가·그룹 모아보기는 cursor로만 이어 받습니다(offset page 요청은 400). 검색 요청의 source 필드도 받지 않습니다.
    • VIEWER_RISK_MODE(shadow 모드)를 지웠습니다. viewer 위험 판정은 항상 적용(enforce)되며, grant마다 남기던 info 로그도 없어졌습니다.
    • 이전 버전과 섞여 실행될 때만 쓰던 web·backend·crawler의 호환 처리(북마크·모아보기 이어 받기 fallback, 옛 ?search=·source= 홈 URL, 옛 PWA 캐시·설정 이전 등)를 지웠습니다.

    수집·운영

    • 크기 제한을 넘는 JPEG·PNG·GIF 원본을 재시도하지 않는 이미지 정책 오류로 처리합니다.
    • E-Hentai 저장 전 중복 상태 조회를 없애고, 수집 중 차단 규칙은 캐시한 규칙으로 거릅니다. metadata 통계를 읽지 못하면 unified-status 오류 목록에 보입니다.
    • 이전 릴리스가 저장한 수집 checkpoint·재확인 누계는 그대로 읽고 재개합니다.
    • crawler 로그 cursor(since)를 밀리초 아래 정밀도까지 지킵니다.

    게시·배포

    • 이미지 sha256 digest, 릴리스 manifest(ops/releases/), 빌드 입력 지문, 기반 이미지 digest 고정을 없앴습니다. 다섯 서비스가 모든 릴리스의 버전 태그를 가지며, 배포·rollback은 IMAGE_TAG=<버전> 하나로 합니다. RELEASE_MANIFEST와 <SERVICE>_IMAGE 변수는 더 이상 쓰지 않습니다.
    • 게시 스크립트를 다시 실행하면 이미 있는 버전 태그는 건너뛰고, 다섯 서비스의 버전 태그가 모두 있어야 latest를 옮깁니다.

    의존성·내부 정리

    • npm 의존성을 최신 stable로 올렸습니다(Next.js 16.4.3, AWS SDK S3 3.1156.0 등). 알려진 취약점 advisory는 0건입니다.
    • prettier·turbo를 지우고 빌드는 npm workspace script로 합니다.
    • 중복 검증·중복 로직·쓰지 않는 export와 설정, 구현만 따라가던 테스트를 정리했습니다. 태그 번역 검사는 회차별 fixture 대신 사전 불변 조건으로 바꿨습니다.

    반영 SQL

    배포 때 자동 반영이 아래 순서로 한 번씩 실행합니다. 모두 배포 전, crawler 정지: 불필요이며 앱이 읽지 않는 대상만 지웁니다.

    파일 내용
    20261025-02-drop-blacklist-rule-priority.sql 쓰지 않는 blacklist_rules.priority 컬럼 삭제
    20261025-03-drop-legacy-tables.sql 이전 설치의 migrations·typeorm_metadata·crawl_attempts 테이블 삭제

    이미지

    다섯 서비스(byedpi·nginx·backend(log-reader)·crawler·web)를 모두 새로 빌드해 6.1.0과 latest로 게시했습니다.

    NAS 업데이트와 주의사항

    운영은 운영 반영과 기존 설치 schema 반영을 따릅니다.

    • 새 compose.yml·ops/deploy-production.sh로 배포합니다. 이미지 변수(<SERVICE>_IMAGE)와 VIEWER_RISK_MODE, CRAWLER_API_URL 줄이 Compose에서 빠졌습니다.
    • 환경 키: .env.production의 VIEWER_RISK_MODE는 지워도 되며 남아 있어도 무시됩니다. 새 키는 없습니다.
    • viewer 위험 판정: shadow로 운영하던 설치는 이 버전부터 판정이 실제로 적용됩니다.
    • 반영 결과는 배포 출력과 [schema-upgrade] 로그, schema_upgrades 원장으로 확인합니다.
    • rollback: 지운 테이블·컬럼은 5.14.0 이후 이미지가 읽지 않으므로 6.0.0으로 되돌릴 수 있습니다. 6.0.0의 byedpi에는 6.0.0 태그가 없으므로(5.22.4 이미지) 운영 반영의 rollback 안내대로 태그를 먼저 확인합니다.

    6.0.0 대비 전체 변경

    Downloads 2
  • 6.0.0

    6.0.0 주요 변경사항

    기존 설치의 schema 반영이 수동 SQL에서 자동 반영으로 바뀌고 배포 스크립트·Compose 계약이 함께 바뀌어 major 6.0.0으로 게시합니다. 기존 데이터는 그대로 유지됩니다.

    자동 schema 반영과 배포

    • backend·crawler가 시작 전에 sql/upgrades/ 반영 파일을 원장(schema_upgrades)에 기록하며 한 번씩 적용합니다. 파일 내용이 원장과 다르면 시작하지 않습니다.
    • ops/deploy-production.sh가 서비스를 교체하기 전에 새 crawler 이미지로 배포 전 파일을 적용하고, 새 backend·crawler 이미지의 읽기 전용 schema 확인을 통과해야 교체합니다. crawler 정지: 필요 파일이면 crawler를 멈춘 뒤 다시 실행하고, /api/health/ready 뒤 배포 완료 단계에서 배포 후 파일을 적용합니다.
    • 중지된 기존 PostgreSQL을 최초 설치로 보지 않고, 배포 전 schema 확인 없이 교체하지 않습니다.
    • 게시가 릴리스 manifest(ops/releases/<버전>.env)를 남기고, RELEASE_MANIFEST로 게시 때 확인한 digest 그대로 배포·rollback할 수 있습니다.

    검색·작품

    • 검색창에 shirabe_shiki처럼 _로 이은 이름이나 artist:shirabe_shiki를 붙여넣어도 작가 태그가 제안되고, 그대로 검색해도 shirabe shiki 작품이 나옵니다.
    • 상세 창에 비슷한 작품 줄을 추가했습니다.
    • 업로드 이미지 검색에 좌우 반전·회전·선택 영역 질의와 질의 설명을 추가하고, 큰 이미지는 업로드 전에 줄입니다.

    알림

    • 저장한 검색에 새 작품이 들어오면 Push 알림을 보냅니다(사용자별 24시간 20건). 저장한 검색마다 알림을 켜고 끌 수 있습니다.
    • 관리자 운영 Push 알림: crawler 연결 불가, E-Hentai 수집 실패·보호 정지를 알리고 같은 사건은 한 번만 보냅니다.
    • 작가 알림에 공개 노출과 개인 차단을 적용합니다. 재시도 가능한 알림의 발송 기록을 보존하고 발송 기록에 보존 기간을 둡니다.

    계정·패스키

    • 패스키 실패는 화면에 고정 문장 하나("패스키를 추가하지 못했습니다." 등)로만 보이고, 진단 정보 복사는 운영자에게만 보입니다.
    • 패스키 자동 완성 대기를 서버 ceremony 기한 전에 끝내고 입력칸 포커스 때 다시 겁니다.
    • 전역 오류 화면과 열거 값만 받는 브라우저 실패 보고를 추가했습니다.
    • 계정 내보내기에 Push 구독·알림 기록과 다시 받기로 보관 중인 기록을 포함합니다. 전체 session 종료를 DB 시각으로 보장합니다.

    수집과 운영

    • Hitomi: 새 완료 작품 재확인과 파일 변경 작품 다시 받기를 추가했습니다. 다시 받아도 북마크·읽기 기록·알림 기록이 새 작품으로 옮겨지고, 다시 받기가 실패하면 보관해 운영 화면에 건수를 보여 줍니다. 같은 작품 반복 정지는 보류하고 정지 작품을 격리할 수 있습니다.
    • E-Hentai: 목록·상세 요청 재시도, 상세 반복 실패 격리(알 수 없는 안내는 일시 실패), gdata 사전 제외, 버전 계보 저장과 새 버전 안내·중복 사전 후보를 추가했습니다. latest가 증분 기준선을 옮기지 않습니다.
    • 중복 검토에 보존 추천과 연결된 후보 함께 정리를 추가했습니다.
    • 운영 화면에 backend 5xx 원인 분류·5xx·DB 대기 지표·route별 상태와 수집 처리량의 storage lock 대기 단계를 보여 줍니다. 실시간 로그는 PostgreSQL 문장을 가립니다.
    • 운영 점검에 보안 설정·PostgreSQL 진단을 더하고 MinIO 용량 확인은 선택 실행으로 바꿨습니다. 처리량·상위 문장 읽기 전용 SQL(ops/crawl-throughput.sql, ops/top-statements.sql)을 추가했습니다.

    성능·안정성

    • 이미지 색인 통계를 전수 join 없이 집계하고 집계 간격을 지킵니다(PostgreSQL 임시 파일 대량 기록 원인).
    • GC 통계·정리가 후보 작품만 읽고(부분 index 추가) orphan audit는 백그라운드로 실행합니다.
    • 요청 지표를 합산해 15초마다 기록하고 요청 예산 Lua를 EVALSHA로 보냅니다. Hitomi 404 원본 삭제 표시를 묶어 처리합니다.
    • Redis 멈춤을 무응답 시간으로 판정하고 RDB 저장을 1시간 1회로 줄였습니다. 잠금 안 S3 호출에 전체 deadline을 둡니다.
    • PostgreSQL에 pg_stat_statements와 느린 문장·lock 대기·임시 파일 로그를 켰습니다.
    • 다른 PHASH_VERSION 지문을 만나면 색인이 지문을 지우지 않고 멈춥니다.
    • nginx가 container 재생성 중 DNS 실패로 upstream을 비우던 구간을 30초에서 5초로 줄였습니다.
    • viewer 렌더링·preload·진행률 조회, 모아보기·북마크 목록 이어 받기의 count 반복, dashboard·읽기 기록 export 조회를 줄였습니다. React Query 기본 재시도는 연결 단절·5xx에만 합니다.

    반영 SQL

    배포 때 자동 반영이 아래 순서로 한 번씩 실행합니다. 모두 배포 전, crawler 정지: 불필요이며 추가 변경이라 데이터를 바꾸지 않습니다.

    파일 내용
    20261024-01-session-revoke-and-cascade-indexes.sql users.sessions_revoked_at 컬럼, 북마크·작가 북마크·발송 기록 index(CONCURRENTLY)
    20261024-02-pg-stat-statements.sql pg_stat_statements 확장
    20261024-03-gc-candidate-indexes.sql images·galleries GC 후보 부분 index 3개(CONCURRENTLY, 운영 규모에서 오래 걸릴 수 있음)
    20261024-04-saved-search-and-admin-alerts.sql 저장한 검색 알림 컬럼, 관리자 운영 알림 테이블
    20261025-01-gallery-refetch-holds.sql 다시 받기 개인 기록 보관 테이블과 보관·되돌리기 함수

    이미지 게시 범위

    -ChangedOnly 게시입니다. 버전 태그 6.0.0은 새로 빌드한 서비스에만 있습니다.

    서비스 6.0.0 digest
    backend(log-reader) 새 빌드 sha256:a694729c…
    crawler 새 빌드 sha256:01d61dc7…
    web 새 빌드 sha256:5907d2ee…
    nginx 새 빌드(resolver 변경) sha256:92d8cc32…
    byedpi 재사용(5.22.4) sha256:d0343125…

    릴리스 manifest: ops/releases/6.0.0.env

    NAS 업데이트와 주의사항

    운영은 운영 반영과 기존 설치 schema 반영을 따릅니다.

    • 반드시 새 compose.yml·ops/deploy-production.sh로 배포합니다. backend-schema-check 서비스, manifest 이미지 변수, PostgreSQL·Redis 설정이 새 Compose에 있습니다.
    • PostgreSQL·Redis 재생성: PostgreSQL command(pg_stat_statements preload·진단 로그)와 Redis 저장 설정이 바뀌어 두 컨테이너가 다시 만들어집니다. 짧은 DB 중단이 있습니다.
    • Watchtower: 20261024-03이 큰 테이블에 index를 만들므로 Watchtower를 멈추고 배포 스크립트로 배포합니다. Watchtower가 먼저 교체하면 반영이 끝날 때까지 backend·crawler가 멈춥니다.
    • 반영 결과는 배포 출력과 [schema-upgrade] 로그, schema_upgrades 원장으로 확인합니다.
    • 환경 키 변경은 없습니다.
    • rollback: 반영 SQL은 모두 추가 변경이라 5.22.4 이미지로 되돌려도 새 컬럼·테이블·index를 무시합니다. 5.22.4 이하는 manifest가 없으므로 운영 반영의 IMAGE_TAG 블록을 따르며, -ChangedOnly 게시라 서비스별 이전 태그를 먼저 확인합니다.

    5.22.4 대비 전체 변경

    Downloads 2