• 돌아가기
  • 아래로
  • 위로
  • 목록
  • 댓글

(광고)같은 유튜브 다운로더, Tube Archivist

뻘짓의초심자 941

5

32

요즘 따라 유튜브 다운로더가 밋밋하게 느껴지지 않습니까?

유튜브 영상을 좀 더 계획적으로 관리하고 싶으시다고요?

 

바로 그럴 때! Tube Archivist가 필요합니다!

 

타 컨테이너들과 비교하지 마십시요!

Tube Archivist 는 유튜브 다운로더에 필요한 모든 기능을 갖췄습니다!

 

image.png.jpg로그인 기능!

 

image.png.jpg

빠른 다운로드! 

 

 

image.png.jpg

 

image.png.jpg

다운로드 받은 영상을 바로 볼 수 있는 기능까지!

이 모든 구성을 단 613MB에 다운로드 받을 수 있는 절호의 기회!

 

그게 끝이 아닙니다!

image.png.jpg

아직도 유튜브 자막 사이트를 따로 찾으십니까?

이제는 그런 노동에서 고생 끝!

자막 자동 다운로드 까지 지원해주는 Tube Archivist!

(en:영어, ko:한국어, ja:일본어 등등... 단, 본 컨테이너는 바로보기 기능에서 자막을 지원하지는 않습니다)

 

또 있습니다!

Tube Archivist 는 사용자분의 부지런함을 요구하지 않도록 스케쥴 기능을 따로 제공합니다! (단, 본 컨테이너는 사용자의 잘못된 설정에 의한 오류를 책임지지 않으니 유의하시기 바랍니다)

image.png.jpg

 

 

획기적인 기능을 한방 팩으로 만나볼 수 있는 마지막 기회!

613MB! 613MB! 

 

Tube Archivist, 지금 바로 만나보세요!

 

 

Q. 왜 컨셉이 이따구인가요?

A. 폐관숙제로 인해 심신이 피폐해졌습니다. 이 모든 것은 1일1숙제를 안 하신 달소님 때문입니다.

 

Tube Archivist의 docker-compose는 다음과 같이 해주시면 됩니다.

 

version: '3.3'

services:
  tubearchivist:
    container_name: tubearchivist
    restart: always
    image: bbilly1/tubearchivist:latest
    ports:
      - {원하는포트}:8000
    volumes:
      - {다운로드받을 폴더}:/youtube
      - cache:/cache
    environment:
      - ES_URL=http://archivist-es:9200     # needs protocol e.g. http and port
      - REDIS_HOST=archivist-redis          # don't add protocol
      - HOST_UID=1000
      - HOST_GID=1000
      - TA_USERNAME={초기ID}           # your initial TA credentials
      - TA_PASSWORD={초기 비번}              # your initial TA credentials
      - ELASTIC_PASSWORD={Elasticsearch비번}         # set password for Elasticsearch
      - TZ=Asia/Seoul                 # set your time zone
    depends_on:
      - archivist-es
      - archivist-redis
  archivist-redis:
    image: redislabs/rejson:latest          # for arm64 use bbilly1/rejson
    container_name: archivist-redis
    restart: always
    expose:
      - "6379"
    volumes:
      - redis:/data
    depends_on:
      - archivist-es
  archivist-es:
    image: bbilly1/tubearchivist-es         # only for amd64, or use official es 7.17.3
    container_name: archivist-es
    restart: always
    environment:
      - "xpack.security.enabled=true"
      - "ELASTIC_PASSWORD={Elasticsearch비번(위와 동일)}"       # matching Elasticsearch password
      - "discovery.type=single-node"
      - "ES_JAVA_OPTS=-Xms512m -Xmx512m"
    ulimits:
      memlock:
        soft: -1
        hard: -1
    volumes:
      - es:/usr/share/elasticsearch/data    # check for permission error when using bind mount, see readme
    expose:
      - "9200"

volumes:
  cache:
  redis:
  es:

 

여기서

volumes:
  cache:
  redis:
  es:

라는 부분이 있는데 이것은 volume container를 설정해주는 것입니다. 

이렇게 해주면 이 폴더들은 "/var/lib/docker/volumes/"아래에 들어가게 됩니다.

이 부분을 제거해주는 것이 조금 귀찮은데 컨테이너 삭제 후 "docker volume prune"을 이용하시면 편합니다. (단, 이 방법은 다른 미사용 docker volume에도 영향을 주니 한 번 더 고민해보고 쓰시기 바랍니다. 일부러 잠시 삭제해둔 컨테이너가 있다면 그 컨테이너의 volume container도 같이 삭제 됩니다. 물론 보통은 안 쓰는 건 안 쓰긴 하나 확신이 들 때 사용하시기 바랍니다.)

+) 초기 설치 시 도커 설치 후 웹 화면 나올 때까지 시간이 조금 걸립니다. 여유를 가지고 설치하시기를 권장드립니다.

※ ExpBox님의 댓글에 따라 중복부분이 삭제됐습니다.

 

이하는 리버스 프록시 유저를 위한 팁입니다.

일반적인 방법으로 리버스프록시를 적용하면 로그인 시 

image.png.jpg

이런 오류를 내뿜습니다.

본 오류는 Django 때문에 발생하는 것으로 추정되는데 정확한 이유는 모르겠으나 해결 방법은 다음과 같습니다. (이 방법은 Django를 기반으로 하는 모든 컨테이너에 유효한 것으로 보이며 linkding이라는 컨테이너에도 적용됩니다.)

nginx 기준으로 "

proxy_set_header X-Forwarded-Proto $scheme;

"를 proxy_pass 아래에 적어주시면 됩니다.

전체적인 구성은 다음과 같습니다. (저는 웹소켓 기능까지 넣었으나 기본적인 방법은 동일합니다.)

 

server {

       listen 80;
        server_name {서버DNS};
        location / {
                proxy_pass http://{내부IP}:{포트번호};
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";
        proxy_set_header Host $host;
        proxy_set_header X-Forwarded-Proto $scheme; #가장 중요
        }
}

 

 

 

컨셉충이 되보려는 것도 어려운 일임을 새삼 깨닫습니다. 달소님의 1일1숙제를 기원합니다.

신고공유스크랩
32
뻘짓의초심자 글쓴이 2022.05.25. 21:21
캉가루나

잘 작동한다니 다행입니다. 컴퓨터랑 싸워가며 오류 해결한 보람이 있네요 ㅎㅎ

즐거운 도커 생활 되셔요~

ST_0913 2022.06.21. 22:24

이래저래 시도하다 보니 설치에 성공했습니다!

다만 헤놀 환경에서는 바로보기가 안되는듯 하네요 ㅋㅋ 제 실력의 부족으로 docker-compose 설정에 오류가 있등가..

 

다만 다운로드 queue 에 url을 집어넣고 다운받으면 매우 빠르고 좋으나

다운받을 때 각 채널의 이름 폴더를 만들고 그 안에 저장이 됩니다

 

이 부분은 해당 github 설명 참고하여 고쳐봐야겠어요!

nom 2022.07.28. 01:59

잘안되네요 ㅠㅠ 계속 Bad Request (400) 가 뜨네요... TA_HOST 는 일부러 빼신건가요?

뻘짓의초심자 글쓴이 2022.07.29. 04:38
nom

TA_HOST가 정확히 어디부분을 말씀하시는 건가요?

400이면 클라이언트 측 오류일텐데 구체적인 환경을 설명해주실 수 있나요?

nom 2022.07.29. 10:02
뻘짓의초심자

저는 ./run.sh: line 16: TA_HOST: Missing required environment variable가 나오면서 실행이 안되고 있습니다~ 그래서 그걸 추가하면 배드리퀘스트가 나오고 있습니다~

뻘짓의초심자 글쓴이 2022.07.30. 00:03
nom

이상하네요... 전 그 부분을 제거하고도 작동이 되는데... 혹시 공식 문서에 나온 것을 그대로 써도 동일한 에러가 나나요? 업데이트 날짜를 보니 최근에 뭔가 바뀌었을 가능성도 없진 않다고 봅니다.

version: '3.3'

 

services:

tubearchivist:

container_name: tubearchivist

restart: unless-stopped

image: bbilly1/tubearchivist

ports:

- 8000:8000

volumes:

- media:/youtube

- cache:/cache

environment:

- ES_URL=http://archivist-es:9200 # needs protocol e.g. http and port

- REDIS_HOST=archivist-redis # don't add protocol

- HOST_UID=1000

- HOST_GID=1000

- TA_HOST=tubearchivist.local # set your host name

- TA_USERNAME=tubearchivist # your initial TA credentials

- TA_PASSWORD=verysecret # your initial TA credentials

- ELASTIC_PASSWORD=verysecret # set password for Elasticsearch

- TZ=America/New_York # set your time zone

depends_on:

- archivist-es

- archivist-redis

archivist-redis:

image: redislabs/rejson # for arm64 use bbilly1/rejson

container_name: archivist-redis

restart: unless-stopped

expose:

- "6379"

volumes:

- redis:/data

depends_on:

- archivist-es

archivist-es:

image: bbilly1/tubearchivist-es # only for amd64, or use official es 8.3.2

container_name: archivist-es

restart: unless-stopped

environment:

- "xpack.security.enabled=true"

- "ELASTIC_PASSWORD=verysecret" # matching Elasticsearch password

- "discovery.type=single-node"

- "ES_JAVA_OPTS=-Xms512m -Xmx512m"

ulimits:

memlock:

soft: -1

hard: -1

volumes:

- es:/usr/share/elasticsearch/data # check for permission error when using bind mount, see readme

expose:

- "9200"

 

volumes:

media:

cache:

redis:

es:

nom 2022.07.30. 02:56
뻘짓의초심자

댓글 감사합니다~ 혹시 es 권한 맞춰주는건 어떻게 하는 건지 알려주실수 있나요~?

nom 2022.07.30. 03:14
뻘짓의초심자

 

[pid: 50|app: 0|req: 1/1] 192.168.80.1 () {42 vars in 1408 bytes} [Sat Jul 30 03:27:12 2022] GET / => generated 143 bytes in 857 msecs (HTTP/1.1 400) 5 headers in 171 bytes (1 switches on core 0)

[pid: 50|app: 0|req: 2/2] 192.168.80.1 () {42 vars in 1366 bytes} [Sat Jul 30 03:27:13 2022] GET /favicon.ico => generated 143 bytes in 48 msecs (HTTP/1.1 400) 5 headers in 171 bytes (1 switches on core 0)

[pid: 50|app: 0|req: 3/3] 192.168.80.1 () {44 vars in 1439 bytes} [Sat Jul 30 03:27:18 2022] GET / => generated 143 bytes in 53 msecs (HTTP/1.1 400) 5 headers in 171 bytes (1 switches on core 0)

[pid: 50|app: 0|req: 4/4] 192.168.80.1 () {42 vars in 1366 bytes} [Sat Jul 30 03:27:18 2022] GET /favicon.ico => generated 143 bytes in 69 msecs (HTTP/1.1 400) 5 headers in 171 bytes (1 switches on core 0)

[pid: 50|app: 0|req: 5/5] 192.168.80.1 () {44 vars in 1439 bytes} [Sat Jul 30 03:28:27 2022] GET / => generated 143 bytes in 54 msecs (HTTP/1.1 400) 5 headers in 171 bytes (1 switches on core 0)

[pid: 50|app: 0|req: 6/6] 192.168.80.1 () {42 vars in 1366 bytes} [Sat Jul 30 03:28:27 2022] GET /favicon.ico => generated 143 bytes in 48 msecs (HTTP/1.1 400) 5 headers in 171 bytes (1 switches on core 0)

[pid: 50|app: 0|req: 7/7] 192.168.80.1 () {40 vars in 751 bytes} [Sat Jul 30 03:28:44 2022] GET / => generated 143 bytes in 45 msecs (HTTP/1.1 400) 5 headers in 171 bytes (1 switches on core 0)

[pid: 50|app: 0|req: 8/8] 192.168.80.1 () {40 vars in 720 bytes} [Sat Jul 30 03:28:44 2022] GET /favicon.ico => generated 143 bytes in 45 msecs (HTTP/1.1 400) 5 headers in 171 bytes (1 switches on core 0)

[pid: 50|app: 0|req: 9/9] 192.168.80.1 () {62 vars in 1177 bytes} [Sat Jul 30 03:29:56 2022] GET / => generated 143 bytes in 52 msecs (HTTP/1.1 400) 5 headers in 171 bytes (1 switches on core 0)

[pid: 50|app: 0|req: 10/10] 192.168.80.1 () {60 vars in 1091 bytes} [Sat Jul 30 03:29:59 2022] GET /favicon.ico => generated 143 bytes in 49 msecs (HTTP/1.1 400) 5 headers in 171 bytes (1 switches on core 0)

[pid: 50|app: 0|req: 11/11] 192.168.80.1 () {42 vars in 782 bytes} [Sat Jul 30 03:30:43 2022] GET / => generated 143 bytes in 80 msecs (HTTP/1.1 400) 5 headers in 171 bytes (1 switches on core 0)

[pid: 50|app: 0|req: 12/12] 192.168.80.1 () {40 vars in 720 bytes} [Sat Jul 30 03:30:43 2022] GET /favicon.ico => generated 143 bytes in 100 msecs (HTTP/1.1 400) 5 headers in 171 bytes (1 switches on core 0)

[pid: 50|app: 0|req: 13/13] 192.168.80.1 () {42 vars in 782 bytes} [Sat Jul 30 03:30:45 2022] GET / => generated 143 bytes in 55 msecs (HTTP/1.1 400) 5 headers in 171 bytes (1 switches on core 0)

[pid: 50|app: 0|req: 14/14] 192.168.80.1 () {40 vars in 720 bytes} [Sat Jul 30 03:30:45 2022] GET /favicon.ico => generated 143 bytes in 57 msecs (HTTP/1.1 400) 5 headers in 171 bytes (1 switches on core 0)

[pid: 50|app: 0|req: 15/15] 192.168.80.1 () {60 vars in 1122 bytes} [Sat Jul 30 03:37:05 2022] GET / => generated 143 bytes in 49 msecs (HTTP/1.1 400) 5 headers in 171 bytes (1 switches on core 0)

[pid: 50|app: 0|req: 16/16] 192.168.80.1 () {42 vars in 782 bytes} [Sat Jul 30 03:37:17 2022] GET / => generated 143 bytes in 56 msecs (HTTP/1.1 400) 5 headers in 171 bytes (1 switches on core 0)

[pid: 50|app: 0|req: 17/17] 192.168.80.1 () {40 vars in 720 bytes} [Sat Jul 30 03:37:17 2022] GET /favicon.ico => generated 143 bytes in 51 msecs (HTTP/1.1 400) 5 headers in 171 bytes (1 switches on core 0)

[pid: 50|app: 0|req: 18/18] 192.168.80.1 () {42 vars in 1408 bytes} [Sat Jul 30 03:37:31 2022] GET / => generated 143 bytes in 45 msecs (HTTP/1.1 400) 5 headers in 171 bytes (1 switches on core 0)

[pid: 50|app: 0|req: 19/19] 192.168.80.1 () {42 vars in 1366 bytes} [Sat Jul 30 03:37:31 2022] GET /favicon.ico => generated 143 bytes in 49 msecs (HTTP/1.1 400) 5 headers in 171 bytes (1 switches on core 0)

[pid: 50|app: 0|req: 20/20] 192.168.80.1 () {44 vars in 1439 bytes} [Sat Jul 30 03:37:33 2022] GET / => generated 143 bytes in 48 msecs (HTTP/1.1 400) 5 headers in 171 bytes (1 switches on core 0)

[pid: 50|app: 0|req: 21/21] 192.168.80.1 () {42 vars in 1366 bytes} [Sat Jul 30 03:37:34 2022] GET /favicon.ico => generated 143 bytes in 46 msecs (HTTP/1.1 400) 5 headers in 171 bytes (1 switches on core 0)

[pid: 50|app: 0|req: 22/22] 192.168.80.1 () {44 vars in 1439 bytes} [Sat Jul 30 03:42:19 2022] GET / => generated 143 bytes in 60 msecs (HTTP/1.1 400) 5 headers in 171 bytes (1 switches on core 0)

[pid: 50|app: 0|req: 23/23] 192.168.80.1 () {42 vars in 1366 bytes} [Sat Jul 30 03:42:20 2022] GET /favicon.ico => generated 143 bytes in 75 msecs (HTTP/1.1 400) 5 headers in 171 bytes (1 switches on core 0)

[pid: 50|app: 0|req: 24/24] 192.168.80.1 () {44 vars in 1439 bytes} [Sat Jul 30 03:42:22 2022] GET / => generated 143 bytes in 83 msecs (HTTP/1.1 400) 5 headers in 171 bytes (1 switches on core 0)

[pid: 50|app: 0|req: 25/25] 192.168.80.1 () {42 vars in 1366 bytes} [Sat Jul 30 03:42:22 2022] GET /favicon.ico => generated 143 bytes in 57 msecs (HTTP/1.1 400) 5 headers in 171 bytes (1 switches on core 0)

[pid: 50|app: 0|req: 26/26] 192.168.80.1 () {60 vars in 1122 bytes} [Sat Jul 30 03:47:13 2022] GET / => generated 143 bytes in 47 msecs (HTTP/1.1 400) 5 headers in 171 bytes (1 switches on core 0)

[pid: 50|app: 0|req: 27/27] 192.168.80.1 () {60 vars in 1091 bytes} [Sat Jul 30 03:47:15 2022] GET /favicon.ico => generated 143 bytes in 47 msecs (HTTP/1.1 400) 5 headers in 171 bytes (1 switches on core 0)

 

요런 상태만 나오네요 ㅠㅠ

뻘짓의초심자 글쓴이 2022.07.30. 05:42
nom

음... 저도 초보라 로그만 보고는 도움을 드리기 힘듭니다.

좀 더 구체적인 정보가 필요합니다. 도커를 올리는 서버 정보(아키텍처, 클라우드서버인지/개인서버인지 등등)

es 볼륨만 권한 문제가 발생하는 건가요?

docker-compose down

docker system prune -a

docker volume prune

이 명령어들로 전부 정리한 후 다시 설치해도 동일 증상이 재현되나요?

12

댓글 쓰기 권한이 없습니다. 로그인

취소 댓글 등록

cmt alert

신고

"님의 댓글"

이 댓글을 신고하시겠습니까?

댓글 삭제

"님의 댓글"

삭제하시겠습니까?


목록

공유

facebooktwitterpinterestbandkakao story
번호 분류 제목 글쓴이 날짜 조회 추천
오픈소스 Hoarder 소개 📦 - AI 기반 태깅 기능을 갖춘 오픈 소스 Bookmark-Everything 앱(mymind 오픈 소스 대안) 6 달소 19시간 전22:53 171 +1
정보 Proxmox) VMware ESXi 기반 가상 머신 마이그레이션에 사용할 수 있는 새로운 가져오기 마법사 5 달소 19시간 전22:48 96 +1
정보 안녕하세요! 새로 가입했습니다. 6 Razorbacks 1일 전18:06 90 +1
3780 질문
normal
막강태우 1시간 전16:48 61 0
3779 잡담
normal
kmw_ 4시간 전13:43 182 0
3778 오픈소스
image
달소 19시간 전22:53 171 +1
3777 정보
image
달소 19시간 전22:48 96 +1
3776 정보
image
Razorbacks 1일 전18:06 90 +1
3775 질문
normal
맛밥 1일 전15:34 237 0
3774 정보
image
툭툭이 1일 전11:14 472 +12
3773 질문
normal
유니파트 1일 전22:09 209 0
3772 질문
image
반투검스 2일 전12:46 76 0
3771 질문
normal
니즛 2일 전00:37 367 0
3770 잡담
image
주차장 3일 전17:47 504 +1
3769 질문
image
양미 3일 전11:16 225 0
3768 질문
normal
주차장 3일 전23:44 178 0
3767 질문
image
surno 4일 전00:56 129 0
3766 질문
image
TANG 4일 전19:14 415 0
3765 질문
image
게르노 5일 전23:55 477 0
3764 질문
normal
very 6일 전09:57 218 0
3763 질문
normal
ljr10 6일 전09:11 88 0
3762 질문
normal
very 24.03.22.18:04 248 0
3761 가이드
normal
minis 24.03.22.14:20 158 0