시놀로지 도커에 VDtN 서버 설치하기 1.1.6 – yt-dlp 기반 다운로드

스크린샷 2025-11-16 05.18.13.png

업데이트 내역 1.1.6

 

https://svrforum.com/nas/2910604

  

다운 폴더 구조 변경 기능 및 파일 이름 변경 기능 추가 그 외 버그 수정

 

업데이트 내역 1.1.5

 

https://svrforum.com/nas/2886249

 

약관 고지 및 소스 오픈

 

업데이트 내역 1.1.4

 

https://svrforum.com/nas/2877020

 

업데이트 가능 알림 기능과 텔레그램 봇 화이트리스트 기능이 추가 됐습니다

 

업데이트 내역 1.1.3

 

https://svrforum.com/nas/2873798

 

텔레그램 봇이 내장 됐습니다 – 권한 설정이 가능 합니다

텔레그램 봇 다운로드시 실시간 진행률이 표시 됩니다

역할 기본 권한 수정이 가능합니다

가입 승인 모드 설정이 가능합니다

.env 수정이 필요 합니다

 

업데이트 내역 1.1.2

 

https://svrforum.com/nas/2872481

 

 확장 프로그램과 텔레그램 봇 사용을 위한 토큰 생성 기능이 추가 됐습니다

 

업데이트 내역 1.1.1

확장 프로그램 /rest 프록시 문제 수정

SSO 생성 계정 초기 비번 생성 기능 추가

 

확장 프로그램이나 봇을 사용하기 위해서는 비번이 필요한데

SSO 생성 계정은 비번이 따로 없죠

최초 비번 변경은 기존 비번 없이 가능합니다

계정설정 – 보안 탭에서 비번을 설정 후 확장 프로그램 이용하시면 됩니다

 

추후 확장 프로그램 전용 API 키 토큰 방식으로 업데이트를 생각하고 있습니다

 

업데이트 내역 1.1.0

 

https://svrforum.com/nas/2869462

 

1.1.0 업데이트 내역이 많으니 링크 글을 참고 해주세요 

 

업데이트 내역 1.0.0

플레이어 더블 클릭 풀스크린 기능

재생중 마우스 커서 숨김 기능

다음 곡 자동 재생 기능 추가

누락된 다국어 부분 수정

공개 게시판 삭제 관련 기능들 추가

전체적인 UI/UX 정리

썸네일 정보 없는 사이트 다운로드 시 수동 썸네일 추출 기능 추가

폴더 스캔 후 디비 등록 기능 추가 – 슈퍼 애드민만 사용가능

  • 디비 삭제시 재구성 또는 수동 업로드 용도

로컬 썸네일 관련 기능들 추가

 

이미지를 업데이트 해주세요

버전은 그대로 1.0.0 입니다

 

업데이트는 수시로 진행 됩니다

 

네 또 이상한 거 하나 만들었습니다

 

저번에 관련 글을 하나 올렸습니다만

간단하게 다시 한 번 설명을 하자면

원래는 유튜브dl나스 서비스를 이용한 확장 프로그램과 봇 컨테이너를 만들었었는데

만든김에 동영상 다운로드 컨테이너도 만들자 해서 만들어 봤습니다

yt-dlp 기반의 서비스고요

 

설치 방법은 간단 합니다

 

파일 스테이션에서 작업 해주시면 됩니다

 

스크린샷 2025-11-15 21.13.10.png

volume1/docker/vdtnsvr 폴더를 생성 해주시고

data 와 downloads 폴더를 생성 해줍니다

 

version: '3.8'

services:
  backend:
    image: sruinz/vdtnsvr-backend:latest
    container_name: vdtn-backend
    ports:
      - "8000:8000"
    volumes:
      - /volume1/docker/vdtnsvr/downloads:/app/downloads
      - /volume1/docker/vdtnsvr/data:/app/data
    env_file:
      - .env
    environment:
      - TZ=Asia/Seoul
    restart: unless-stopped
    networks:
      - vdtn-network

  frontend:
    image: sruinz/vdtnsvr-frontend:latest
    container_name: vdtn-frontend
    ports:
      - "3000:80" # 접속 포트 3000 포트 변경 가능 
    depends_on:
      - backend
    environment:
      - VITE_API_URL=http://backend:8000
      - TZ=Asia/Seoul
    restart: unless-stopped
    networks:
      - vdtn-network

networks:
  vdtn-network:
    driver: bridge

 

# ============================================================================
# 필수 설정 항목 (반드시 변경해야 하는 항목)
# ============================================================================

# JWT 시크릿 키 (프로덕션 환경에서 반드시 변경!)
# - 영문, 숫자, 하이픈(-), 언더스코어(_)만 사용 (특수문자 %@# 등은 피하세요)
# - 권장 길이: 32-64자
# - 예시: my-super-secret-jwt-key-for-production-2024
JWT_SECRET=change-this-secret-key-in-production

# SSO 암호화 키 (SSO 사용 시 필수)
# - OAuth2 클라이언트 시크릿을 데이터베이스에 암호화하여 저장할 때 사용
# - SSO를 사용하지 않으면 설정하지 않아도 됩니다
# 
# ߎ挬생성 방법 (가장 쉬움):
#   1) 애플리케이션을 먼저 실행하세요 (docker-compose up -d)
#   2) super_admin으로 로그인하세요
#   3) 설정 > SSO 탭에서 "암호화 키 생성" 버튼을 클릭하세요
#   4) 생성된 키를 복사하여 이 파일에 붙여넣으세요
#   5) docker-compose down && docker-compose up -d 로 재시작하세요
# 
# 대체 생성 방법:
#   - Python: python -c "from cryptography.fernet import Fernet; print(Fernet.generate_key().decode())"
#   - Docker: docker exec -it video-download-to-nas-backend-1 python -c "from cryptography.fernet import Fernet; print(Fernet.generate_key().decode())"
# 
# - 생성된 키 예시: gAAAAABk1234567890abcdefghijklmnopqrstuvwxyz==
# - ⚠️ 주의: 키를 변경하면 기존에 저장된 SSO 설정을 복호화할 수 없습니다!
SSO_ENCRYPTION_KEY=

# CORS 허용 출처 (쉼표로 구분된 목록)
# - 개발 환경: * (모든 출처 허용)
# - 프로덕션: 실제 도메인만 지정 (예: http://nas.example.com:3000,https://nas.example.com)
# - 시놀로지 예시: http://192.168.1.100:3000 또는 http://your-nas-domain:3000
# - ⚠️ 브라우저 확장 프로그램 사용 시: 반드시 * 로 설정해야 합니다!
#   (확장 프로그램은 chrome-extension:// origin에서 요청을 보내므로)
ALLOWED_ORIGINS=*

# 백엔드 URL (OAuth2 리다이렉트 URI에 사용)
# - 시놀로지 예시: http://192.168.1.100:8000 또는 http://your-nas-domain:8000
# - 외부 접속 시: https://your-domain.com
BACKEND_URL=http://localhost:8000

# 프론트엔드 URL (인증 후 리다이렉트에 사용)
# - 시놀로지 예시: http://192.168.1.100:3000 또는 http://your-nas-domain:3000
# - 외부 접속 시: https://your-domain.com
FRONTEND_URL=http://localhost:3000

# 서버 URL (API 토큰 원클릭 설정에 사용)
# - 프론트엔드 URL과 동일하게 설정하세요
# - 텔레그램 봇/브라우저 확장에서 토큰 설정 시 사용됩니다
# - 시놀로지 예시: http://192.168.1.100:3000 또는 http://your-nas-domain:3000
SERVER_URL=http://localhost:3000

# HTTPS 강제 사용 (OAuth2 리다이렉트에 적용)
# - 개발 환경: false
# - 프로덕션 (HTTPS 사용 시): true
FORCE_HTTPS=false


# ============================================================================
# 고급 설정 (일반적으로 변경하지 않아도 되는 항목)
# ============================================================================

# 데이터베이스 경로
# - Docker 환경에서는 변경하지 마세요
# - 데이터는 /app/data 볼륨에 저장됩니다
DATABASE_URL=sqlite:////app/data/vdtn.db

# 텔레그램 봇 설정
# - 텔레그램 봇 기능 활성화 여부 (기본값: false)
TELEGRAM_BOT_ENABLED=false

# - 시스템 시작 시 활성 봇 자동 시작 여부 (기본값: false)
TELEGRAM_BOT_AUTO_START=false


# ============================================================================
# 참고 사항
# ============================================================================
# 
# 기타 설정 (Rate Limiting, 사용자 등록, 할당량 등)은
# super_admin으로 로그인 후 설정 페이지에서 변경할 수 있습니다.
#
# SSO 제공자 설정 (Google, Microsoft, GitHub 등)도
# 설정 페이지의 SSO 탭에서 구성할 수 있습니다.

그리고 .env 파일과 컴포즈 파일을 생성 해주시면 됩니다

컴포즈 파일은 프로젝트 생성 하면서 입력 하셔도 됩니다 

 

3000포트는 접속 포트니까 수정 해주시면 되고 

다른 부분은 수정 안하셔도 될 겁니다

특히 백엔드 포트 8000은 수정 안하시는 걸 추천 합니다

폴더 경로도 처음에는 우선 기본 경로로 테스트 해보시고 나중에 수정하세요

 

.env의 시크릿키는 그냥 암호화 키니까 편한대로 설정하세요

다른 곳에 입력할 일은 없습니다

 

1.1.3 에서 .env 구성이 변경 됐습니다

업데이트 내역 링크와 .env 주석을 참고 해주세요

 

 

스크린샷 2025-11-15 21.10.25.png

프로젝트 생성 하시고 위에서 설정한 폴더와 프로젝트명

그리고 컴포즈 파일 생성이나 폴더에 있는 컴포즈 선택 하셔서

다음 다음 누르시면 설치 완료 입니다

 

스크린샷 2025-11-15 21.12.17.png

설치가 완료 되면 프론트엔드와 백엔드 컨테이너가 생성 됩니다

 

설치 후 아이피:포트로 접속 하시면

 

스크린샷 2025-11-16 05.18.13.png

로그인 창이 표시 됩니다

계정 생성 링크를 누르시고

 

스크린샷 2025-11-16 05.20.41.png

처음 계정을 생성 하시면 슈퍼 애드민 권한을 갖게 됩니다

스크린샷 2025-11-16 05.21.56.png

회원 가입은 설정에서 끄고 켤 수 있습니다

image.png

로그인 하시면 메인 화면이 보이는데요

 

스크린샷 2025-11-16 05.24.08.png

우선 우측 상단 프로필 메뉴에 언어 선택 (한/영), 비번 변경, 공유 링크 관리 및 설정, 로그아웃 메뉴가 있습니다

 

 

스크린샷 2025-11-15 19.38.18.png

비번 변경은 뭐 별다른 설명이 필요 없겠죠 이건 모든 사용자가 접근 가능한 메뉴 입니다

 

스크린샷 2025-11-16 02.48.59.png

공유 링크 관리 메뉴는 다운 받은 파일을 공유 할 수 있는 메뉴인데요

일반 사용자는 권한 부여를 받아야 사용할 수 있습니다

공유 링크 기능은 영상 다운로드 후 설명 하겠습니다

 

스크린샷 2025-11-16 05.25.53.png

주소 넣고 옵션 선택 후 다운로드 하시면

  

스크린샷 2025-11-15 19.46.04.png

우측 하단에 다운로드 큐가 표시되고 게이지가 실시간으로 올라갑니다

 

스크린샷 2025-11-15 19.47.31.png

다운로드가 완료 되면 영상이 라이브러리에 표시가 되고요

 

스크린샷 2025-11-15 21.16.04.png

다운 받은 파일은 각 사용자 아이디 폴더에 저장 됩니다

 

 

스크린샷 2025-11-15 19.49.33.png

검색 기능과 필터 및 정렬 가능 합니다

비디오와 오디오로 크게 분류가 되고요

마우스 오버시 재생 및 다운 삭제 버튼이 표시됩니다

다운은 pc로 다운로드 권한이 있어야 가능 합니다

좌측 하단 파란 아이콘은 원본 링크

스크린샷 2025-11-16 06.03.04.png

보라색은 공개 게시판 등록 – 후 녹색으로 변하고 게시 삭제가 가능합니다

주황색은 공유링크 버튼 입니다 원본 링크 제외 권한이 있어야 합니다

 

스크린샷 2025-11-15 19.52.47.png

공개 게시판은 권한이 있는 다른 사용자들이 내가 게시한 컨텐츠를 볼 수 있습니다

 

스크린샷 2025-11-16 05.29.23.png

이런 식으로 표시 됩니다

썸네일 우측 상단 X를 누르면 게시를 취소할 수 있습니다

슈퍼 애드민은 모든 게시물을 제거할 수 있습니다

 

 

스크린샷 2025-11-15 19.55.46.png

공유 링크 생성은 이것저것 선택할 수 있습니다

다운로드 허용은 다운로드 권한이 있어야 설정 할 수 있습니다

비회원 접근 허용은 가입하지 않은 사용자도 재생이 가능한 옵션입니다

비회원 체크 안하면 해당 링크를 보기 위해 로그인 해야  합니다

공유 링크 생성도 권한이 있어야 가능 합니다

 

스크린샷 2025-11-15 19.58.14.png

 생성된 링크를 복사해서 공유하게 되면

 

 

image.png

이런 화면에 접근 가능합니다

 

다운로드 옵션을 선택하면 재생 버튼 옆에 다운로드 버튼이 표시 됩니다

 

 

스크린샷 2025-11-15 20.01.58.png

재생 누르시면 이런 플레이어로 재생이 가능하고요

단축키 정보는 ? 버튼을 누르면 표시 됩니다

 

스크린샷 2025-11-15 21.22.44.png

파일이 많은 경우 재생목록이 표시 됩니다

이전 다음 이동 버튼도 표시되고요

 

스크린샷 2025-11-15 21.28.06.png

오디오 재생은 썸네일이 없는 경우 이런 식으로 표시 됩니다

 

스크린샷 2025-11-16 08.03.49.png

오디오 파일 썸네일이 있으면 썸네일이 표시 됩니다

 

스크린샷 2025-11-16 05.34.29.png

공유 링크 관리 메뉴로 가시면 활성/비활성 및 삭제가 가능 합니다

 

 

image.png

설정에 가시면 이것저것 확인과 서버 설정이 가능합니다 – 슈퍼 애드민만 가능

라이브러리 동기화란?

폴더 내의 파일을 스캔해서 디비에 없는 파일이라면 디비에 등록을 합니다

썸네일이 있는 경우 썸네일을 포함하고 없다면 영상의 경우 직접 추출합니다

전체 사용자 또는 개별 사용자를 선택해 스캔 할 수 있습니다

스캔 된 각 사용자 폴더의 파일은 각 사용자의 디비에 등록 됩니다

 

 

스크린샷 2025-11-16 05.37.46.png

사용자 관리 탭에서는 사용자별 설정이 가능합니다

 

스크린샷 2025-11-15 20.08.19.png

역할이나 할당량 분당 요청 제한 그리고 액션의 권한, 비번 변경, 삭제 버튼이 있습니다

 

스크린샷 2025-11-16 05.38.59.png

권한은 이렇게 설정 가능 합니다

 

스크린샷 2025-11-16 05.40.48.png

슈퍼 애드민이 아닌 애드민 계정은 서버 설정이 불가능합니다

 

설명은 대부분 한 거 같습니다만 빼먹은 부분이 있을 수도 있습니다

이런저런 테스트를 다 해보긴 했는데 버그도 있을 수 있고요

 

뭐 대충 필요한 기능은 다 때려넣은 거 같긴한데 쓰다가 불편하거나

필요한 기능이 생기면 추가 될 거 같습니다

 

스크린샷 2025-11-15 20.29.39.png

아 메인 하단에 확장 프로그램 다운 링크가 있습니다

 

스크린샷 2025-11-15 20.30.29.png

기존 확장 프로그램 그대로 사용 가능합니다

 

스크린샷 2025-11-15 20.32.51.png

주소만 변경 해주시면 됩니다

 

https://svrforum.com/nas/2062043

 

 

1.1.3 버전에서 텔레그램 봇 기능이 내장 됐습니다

기존 봇도 그대로 사용 가능합니다

  

 

사용 해보실 분들은 써보시고 불편한 점이나 버그 같은 거 있으면 피드백 주세요

 

긴 글 읽으시느라 고생 하셨습니다

 

1.1.0에서 이것저것 추가가 되고 변경이 된 부분이 있으니 상단 링크를 통해 내역을 확인해주세요

댓글 남기기

이메일 주소는 공개되지 않습니다. 필수 항목은 *(으)로 표시합니다