안녕하세요. Yurari입니다.
이번 게시글에서는 szurubooru-toolkit를 사용하는 방법에 대해 설명드리겠습니다.
szurubooru-toolkit를 설치하지 않으셨다면,
설치 방법을 설명한 게시글을 참고해서 설치를 먼저 진행해 주세요.
※ 이 게시글에서는 이미지를 업로드하고, 태그를 관리하는 것을 위주로 설명드리겠습니다.
docker를 통해 szurubooru-toolkit를 설치하셨을 경우,
Putty와 같은 터미널 접속 프로그램을 통해 도커에 접근해줘야 합니다.
docker exec -it szurubooru-toolkit /bin/bash
SSH에 로그인 후, 위 명령어를 입력해서 도커 컨테이너에 접속해 주세요.
(컨테이너 이름이 다를 경우 szurubooru-toolkit 부분을 자신의 이름에 맞게 수정해 주세요.)
'***@****:/szurubooru-toolkit#' 이라는 표기가 뜨면 정상적으로 접속이 된 것입니다.
이 화면에서 바로 수행할 명령어를 입력해서 작업을 진행해주시면 됩니다.
명령어는 아래 설명을 참고해서 작성해주세요.
경우에 따라 사용할 수 있는 예시 명령어를 작성하였으니,
필요한 부분을 찾아 더보기를 눌러서 확인해 주세요.
※ 설치 및 설정방법을 설명한 게시글처럼 설정되어 있다고 가정하고 글을 작성합니다.
Config.toml의 설정값에 따라 명령어 사용이 안될 수도 있습니다.
※ 자동 태깅 사용 시 saucenao API를 사용하는데,
Saucenao API는 하루에 100건만 사용가능합니다.
초과되지 않도록 주의하시기 바랍니다.
0. 태그 카테고리 설정 및 Danbooru 태그 목록 자동으로 가져오기
(애니메이션 관련 이미지를 저장하실 분이라면 설정하는 것을 추천드립니다.)

단부루는 위 이미지처럼 각 이미지 태그에 카테고리가 지정되어 있으며,
각 카테고리마다 색상이 다르게 표시되도록 구성되어 있습니다.
이것을 szurubooru에서도 비슷하게 구현할 수 있도록 하는 설정법을 설명드리겠습니다.

먼저 첫번째로 szurubooru서버를 접속한 후 상단 메뉴의 Tags → Tag Categories를 선택해서
설정메뉴로 접속하면 위 이미지와 같은 설정창이 표시됩니다.

'Add new category'를 눌러서 위 이미지와 똑같이 카테고리를 생성해 주세요.
(Suzurubooru-toolkit는 단부루의 Copyright 항목을 Series로 처리합니다. 참고해주세요.)

szuru-toolkit create-tags --query "*" --limit 1000000 --min-post-count 30 --overwrite
이후 터미널에서 위 명령어를 입력해 주시면 단부루에서 자동으로 태그 목록을 가져옵니다.
시간이 오래 걸리니, 종료될 때까지 기다려주세요.
(--limit는 가져올 태그 수이며, --min-post-count는 가져올 태그가 최소 쓰인 횟수를 지정하는 곳입니다.
저는 30개 이상 쓰인 태그를 전부 가져오는 명령어로 구성했습니다. 필요시 변경해 주시면 됩니다.)

정상적으로 단부루 태그를 다 가져왔다면,
각 이미지 태그에 카테고리별로 색이 다르게 표기됩니다.
1. 미디어 업로드 + 수동 태그지정 명령어 예시
#기본 명령어
szuru-toolkit upload-media --no-auto-tag --tags "태그1,태그2,태그3"
#등급지정 포함 명령어
szuru-toolkit upload-media --no-auto-tag --tags "태그1,태그2,태그3" --default-safety "sketchy"
#경로지정 포함 명령어
szuru-toolkit upload-media "/szurubooru-toolkit/upload_src" --no-auto-tag --tags "태그1,태그2,태그3"
#경로지정 및 등급지정 포함 명령어
szuru-toolkit upload-media "/szurubooru-toolkit/upload_src/폴더1" --no-auto-tag --tags "태그1,태그2,태그3" --default-safety "sketchy"
위는 수동으로 태그를 지정해서 업로드하는 명령어 예시입니다.
szuru-toolkit + upload-media + --no-auto-tag + --tags "태그" 로 구성되어 있습니다.
업로드 시 경로를 지정해야 되는 경우에는 두번째 예시처럼 중간에
"/szurubooru-toolkit/upload_src"를 적어줘야 하며,
기본 경로 하위의 특정 폴더를 지정해 주시려면
"/szurubooru-toolkit/upload_src/폴더1" 이런 식으로 적어주시면 됩니다.
추가로 업로드 시 미디어 등급을 지정하고 싶다면 세번째 예시처럼
마지막에 --default-safety "등급" 을 추가로 적어주시면 됩니다.
(등급 종류는 safe, sketchy, unsafe 세 종류입니다.)

명령어가 정상적으로 작동한다면,
위 이미지처럼 태그가 지정돼서 미디어가 업로드됩니다.
2. 미디어 업로드 + 자동 태그지정 명령어 예시
#기본 명령어
szuru-toolkit upload-media --auto-tag
#추가태그 지정 명령어
szuru-toolkit upload-media --auto-tag --tags "태그1,태그2"
#추가태그 및 등급설정 포함 명령어
szuru-toolkit upload-media --auto-tag --tags "태그1,태그2" --default-safety "sketchy"
위는 자동으로 태그를 지정해서 업로드하는 명령어입니다.
'szuru-toolkit upload-media + --auto-tag' 로 구성되어 있으며,
--tags 옵션을 추가하면 자동으로 태그 생성되는 것과 별도로 추가로 태그를 지정할 수 있습니다.
여기서도 수동 명령어와 같이 업로드할 미디어 파일 경로를 지정하거나,
미디어 등급을 지정할 수 있습니다.

위 이미지는 자동태그 + 수동태그가 함께 지정된 모습입니다.
3. 포스트 삭제 명령어 예시
#오늘 업로드 한 미디어 삭제
szuru-toolkit delete-posts "date:today"
#어제 업로드 한 미디어 삭제
szuru-toolkit delete-posts "date:yesterday"
#특정 날짜에 업로드 한 미디어 삭제
szuru-toolkit delete-posts "date:2025-04-01"
#태그 하나만 있는 미디어 삭제
szuru-toolkit delete-posts "tag-count:1"
#특정 태그가 포함된 미디어 삭제
szuru-toolkit delete-posts "태그"
#특정 태그가 포함된 미디어 삭제 (다중조건)
szuru-toolkit delete-posts "태그1 태그2"
#특정 ID 범위의 게시물을 삭제
szuru-toolkit delete-posts "id:20..50"
#등급이 sketchy인 게시물 삭제
szuru-toolkit delete-posts "safety:sketchy"
위는 업로드한 파일을 삭제하는 명령어입니다.
'szuru-toolkit + delete-posts + 조건' 으로 구성됩니다.
조건은 특정 태그가 포함된 것이나
특정 날짜, 게시물 ID범위 등 다양하게 지정이 가능합니다.
위의 예시를 참고해서 명령어를 구성해 주세요.
※ 특정 태그가 포함된 게시글을 삭제할 때
삭제 조건을 "태그1, 태그2" 로 하면 태그가 둘 중 하나만 있는 게시글도 모두 삭제됩니다.
태그 두 개가 동시에 있는 게시글만 삭제할 때는 "태그1 태그2" 이런 식으로 써주셔야 합니다.
예시에 표기된 것 말고도 다른 다양한 방법이 있으나,
다 파악할 수가 없어서 대표적인 것들만 몇 개 적었습니다. 양해부탁드립니다.
더 자세한 내용을 원하시는 분은 szurubooru API 문서를 참고해 주세요.
4. 기존 게시물 태그 수정 명령어 예시
#특정 태그가 있는 게시글에 신규태그 추가
szuru-toolkit tag-posts --add-tags "신규태그" "기존태그"
#특정 태그가 있는 게시글에 신규태그 추가 (다중조건)
szuru-toolkit tag-posts --add-tags "신규태그1,신규태그2" "기존태그1 기존태그2"
#특정 태그가 있는 게시글에서 특정태그 제거
szuru-toolkit tag-posts --remove-tags "삭제할태그" "기존태그"
#특정 태그가 있는 게시글에서 특정태그 제거 (다중조건)
szuru-toolkit tag-posts --remove-tags "삭제할태그" "기존태그1 기존태그2"
#오늘 업로드한 게시글에서 특정 태그 제거
szuru-toolkit tag-posts --remove-tags "삭제할태그" "date:today"
위는 기존에 등록된 게시물에 태그를 추가하거나 삭제하는 명령어입니다.
'szuru-toolkit + tag-posts + 옵션 + 태그 + 검색조건' 으로 구성됩니다.
태그 부분은 추가 혹은 삭제할 태그를 입력하는 곳이고,
검색조건은 기존 게시글을 검색하는 조건을 입력하는 곳입니다.
위 예시 말고도 다양하게 검색할 수 있는 조건이 있지만,
다 파악할 수가 없어서 대표적인 것들만 몇 개 적었습니다. 양해부탁드립니다.
더 자세한 내용을 원하시는 분은 szurubooru API 문서를 참고해 주세요.
위에서 설명드린 명령어 이외에도 여러 기능이 있고, 다양하게 활용이 가능하지만
제가 다 파악하지 못해서 설명을 제외했습니다.
szuru-toolkit 명령어 -h
#예시
szuru-toolkit delete-posts -h
도커를 접속한 상태에서 위 명령어를 이용하면
상세 옵션에 대한 설명을 볼 수 있으니, 참고부탁드립니다.
이상으로 szurubooru-toolkit 사용법에 대한 설명을 마치겠습니다.
읽어주셔서 감사합니다.
'Nas > Docker' 카테고리의 다른 글
szurubooru-toolkit 설치 방법 (docker-compose) (0) | 2025.03.30 |
---|---|
szurubooru 설치 및 설정법 (docker-compose) (0) | 2025.03.21 |
Synology DSM 7.2 Docker, Docker Compose 설정 방법 (0) | 2023.06.04 |