반응형

 

 

이 포스팅은 Notion에서 작성되었으며 다음추천인 링크를 통해 가입하시면 $10 Credit을 얻으실 수 있습니다(저에게는 $5 Credit이 쌓입니다) Notion 가입 Link

 

클리앙 아이고성 님의 글을 따라 QNAP에 VFS Rclone Mount 설정을 정리 업로드 합니다.

[수정]rclone vfs 마운트가 더 좋아졌네요. : 클리앙
(수정 내용) vfs-cache-mode full에서도 --vfs-read-chunk-size옵션과 --vfs-read-chunk-size-limit옵션이 유의미하다고 합니다 공식문서를 읽어보실 분들은 여기로. https://rclone.org/commands/rclone_mount/#vfs-virtual-file-system rclone 버전 1.53.0 이상에서 vfs cache 부분에 개선이 이뤄졌고, 실제 성능도 더 좋아졌다고 하네요. 저는 마운트 옵션을 바꾼 뒤, 이전보다 영상파일 로딩시간이 많이 줄어들었습니다. 아래는 해당 옵션 적용방법입니다. 먼저 rclone 버전을 1.53.0 이상으로 업데이트 해주시고, (현재 최신 버전은 1.53.1) 캐시 폴더로 사용할 공간을 20~30기가 이상 확보해주세요.
https://www.clien.net/service/board/cm_nas/15415864?po=0&sk=title&sv=vfs&groupCd=&pt=0

필요사항

  • Rclone ( Qnap Club )

 

설치 및 실행

원하는 위치에 다음과 같은 Script를 작성합니다. Rclone의 실행파일을 절대경로로 넣은 이유는, Autorun script수행시 일부 Path가 접근되지 않는 경우가있어서 입니다.

 

CONFIG

다음 명령어를 통해서 Rclone의 연결 설정을 추가해 줍니다. 해당 연결에는 Google Drive, Onedrive등 본인이 연결하고자하는 Drive와 맞는 설정을 추가 진행하면 됩니다. Rclone의 기본 CONFIG 파일이 /root 폴더아래 존재하면 재부팅시마다 초기화가 되기때문에 /share/my/Rclone 폴더를 별도로 생성하여 해당위치에 저장하도록 하였습니다.

#!/bin/bash 
/share/CACHEDEV1_DATA/.qpkg/RClone/rclone --config /share/my/Rclone/rclone.conf config

Mount

위에서 설정한 Drive(아래에서는 gdrive) 를 이제 Mount원하는 위치(/share/CACHEDEV1_DATA/gdrive )에 Mount 하기위한 옵션과 Configuration입니다. 옵션들의 상세 설명은 다음의 링크에서 확인하실 수 있습니다.

간략히 볼 중요 옵션은 다음 정도라고 생각합니다.

  • —cache-dir: Cache 파일의 위치
  • —vfs-cache-max-size: Cache 파일의 사이즈 ( 풀링타임마다 모니터링 하기에 이보다 더 커질 수 있음 )
Documentation
First, you'll need to configure rclone. As the object storage systems have quite complicated authentication these are kept in a config file. (See the --config entry for how to find the config file and choose its location.)
https://rclone.org/docs/
rclone mount
Mount the remote as file system on a mountpoint. rclone mount allows Linux, FreeBSD, macOS and Windows to mount any of Rclone's cloud storage systems as a file system with FUSE. First set up your remote using rclone config. Check it works with rclone ls etc.
https://rclone.org/commands/rclone_mount/

 

#!/bin/bash 
/share/CACHEDEV1_DATA/.qpkg/RClone/rclone --config /share/my/Rclone/rclone.conf \
mount gdrive: /share/CACHEDEV1_DATA/gdrive \
--daemon \
--allow-other \
--allow-non-empty \
--fast-list \
--drive-skip-gdocs \
--poll-interval=15s \
--vfs-cache-mode full \
--vfs-write-back 5s \
--bwlimit-file 16M \
--buffer-size=16M \
--vfs-read-chunk-size=32M \
--vfs-read-chunk-size-limit 2048M \
--vfs-cache-max-size 150G \
--vfs-cache-max-age 336h \
--vfs-read-ahead 32M \
--dir-cache-time=1000h \
--cache-dir=/share/CACHEDEV2_DATA/gcache \
--timeout 1h \
--log-level ERROR \
--log-file=/share/log/rclone.log \
--umask 000

 

부팅시 자동 실행

앞서 포스팅한 autorun.sh(https://proactive.tistory.com/100) 가 적용되어있다면, 다음의 스크립트를 autorun/script 폴더에 넣어주시면 됩니다.

012-vfs_mount.sh

#!/bin/bash 
export LANG=en_US.UTF-8 
pushd /share/my/Rclone 
./rclone_vfs_mount.sh 
popd

 

반응형
반응형

이 포스팅은 Notion에서 작성되었으며 다음추천인 링크를 통해 가입하시면 $10 Credit을 얻으실 수 있습니다(저에게는 $5 Credit이 쌓입니다) Notion 가입 Link

이전에 autorun qpkg를 생성하여 부팅시 실행시켜주는 방법을 포스팅(https://proactive.tistory.com/97) 했었는데, QNAP에는 부팅시 스크립트를 실행해주는 autorun.sh 파일이 존재합니다. 다른 QPKG들과의 의존성 때문에 별도의 autorun package를 만들어 수행하는편을 선호하지만, 기본 형태의 autorun.sh을 편집 수행에 도움을 주는 Script를 찾아 관련내용 포스팅 합니다.

필요사항

  • GIT ( Qnap Club )

설치 및 실행

매우 간단합니다. 다음 Github 링크에 존재하는 Script를 Clone하여, 실행해 주시면 됩니다.

OneCDOnly/create-autorun
This is a run-once BASH script to create an autorun environment on your QNAP NAS. This can be used to automatically execute your own scripts when the NAS boots-up. This installer script writes an autorun.sh processor into your default volume, below the .system directory.
https://github.com/OneCDOnly/create-autorun
git clone https://github.com/OneCDOnly/create-autorun.git cd create-autorun ./create-autorun.sh

실행 및 사용방법

위의 스크립트를 수행하면, autorun.sh에 새로운 코드가 추가가 됩니다. 그리고 설정→전원에 가서 시작하는 동안 사용자가 지정한 프로세스 실행을 키고 저장을 해 줍니다.

그리고 다음의 생성된 경로에 실행하고자 하는 shell script를 넣어주면 부팅시 순차적으로 수행이 됩니다. /share/CACHEDEV1_DATA/.system/autorun/scripts

010-script.sh 011-script2.sh

반응형
반응형

이 포스팅은 Notion에서 작성되었으며 다음추천인 링크를 통해 가입하시면 $10 Credit을 얻으실 수 있습니다(저에게는 $5 Credit이 쌓입니다) Notion 가입 Link

만화책을 라이브러리 스트리밍형식으로 보기위한 방법으로 여러 방법들이있지만 그중 Komga 서버가 QNAP에서 QPKG형태로 설치 지원을하여 써보기로 하고 관련 설치 및 설정사항을 정리해 보고자 본 포스팅을 작성합닌다.

필요사항

  • Komga ( Qnap Club )

설치 및 실행

QJDK8 이상의 버전이 Install 되어있어야 Komga가 설치가능합니다. 순서를 지켜 설치 부탁드립니다. Kmoga도 qpkg형태의 설치를 지원하기 때문에 간단히 설치가 가능합니다. 설치 완료이후 다음 주소로 접근하면 Komga서버의 관리페이지에 접근가능합니다. http://<QNAP 내부IP>:10102/

그리고 E-mail과 Password로 User등록을 수행하면 됩니다. 그럼 다음과 같은 welcome page를 만날수 있습니다.

QPKG스크립트를 보면 단순히 JAR를 수행시켜주는 역할만 들어있습니다 최신 Release버전을 업데이트 하고싶은데 QPKG업이 느릴경우 .qpkg/komga/komga.jar 파일을 최신화 하고 서버 재시작 하면 됩니다.

외부접근을 위해서는 공유기에서 10102포트의 포트포워딩 설정이 필요합니다 포트 변경을하고싶으면 .qpkg/komga/komga.sh 내의 포트번호를 변경해야합니다.

서버 설정 에서는 Library와 User추가가 가능합니다. Libraries 옆에 + 버튼을 누르고 NAS내부의 라이브러리 경로를 추가하여 줍니다.

라이브러리 파일 내의 이미지들이 스캔이 완료되면 이제 접근 및 스트리밍이 가능합니다. 스캔에는 약간 시간이소요되므로 스캔완료후에 Read가능합니다

Plex와 같은 라이브러리 들이 다음과 같이 나타나고 각 시리즈들을 누르면 웹리딩 모드로 접근 가능하여 읽을 수 있습니다. Reader모드에는 설정상에서, 읽기방향등이 설정 가능하니 라이브러리에 맞게 잘 세팅하여 사용하시면 될 것 같습니다.

안드로이드 리더

안드로이드에서 서버 접근을위해서는 다음의 APK를 설정합니다

Tachiyomi
Free and open source manga reader for Android Cloud Download icon Download Book Open Variant icon User Guide Automatically keep track of your manga with MyAnimeList, AniList, Kitsu, Shikimori, and Bangumi Online and offline reading from sources like MangaDex, MangaKakalot, and hundreds more A configurable reader with multiple reading modes, custom color filters, and other settings
https://tachiyomi.org/

확장기능에서 Komga를 찾아 설치 후 서버 주소와 아이디 비밀번호를 설정해 줍니다. 설정이후 앱을 재부팅 해야 제대로 접근이 가능합니다.

반응형
반응형

 

 

이 포스팅은 Notion에서 작성되었으며 다음추천인 링크를 통해 가입하시면 $10 Credit을 얻으실 수 있습니다(저에게는 $5 Credit이 쌓입니다) Notion 가입 Link

 

 

[해외] HF 최소형 ELFINEW11ELFINEW110 무선 네트워킹 장치 MODBUS TPC IP 기능 RJ45 RS485WIFI 직렬 서버, EW11-0 Single Server, Other

월패드에 EW11을 넣어두었는데 동작의 안정화를 위해 가끔 Restart를 하고싶을 때가 있다. 그래서 Telnet을 통한 주기적으로 Restart해줄 수 있는 Script를 작성하여 활용해본다.

필요사항

  • QPython3 ( Qnap Club )
  • EW11

 

EW11 설정

우선 EW11이 Telenet으로 접근가능하도록 System Setting에서 Telnet을 On하고 Port를 세팅해준다(현재 2323)

실행

그리고 다음과 같은 Script를 작성하여 Telnet상에서 Restart Command를 전송할 수 있도록 Setting 하여 준다. 아래 스크립트상에서 host, port, id, pw모두 본인이 ew11접근을 위해 사용하는 정보로 변경하면된다. 이렇게 작성한 스크립트는 crontab등에 스케줄로 추가하여 주기적으로 초기화가 이루어질 수 있도록 하면 됩니다.

#!/usr/bin/env python3 
from telnetlib import Telnet 
host = "192.168.1.153" 
port = 2323 
id = '<id>' 
wd = '<pw>' 
with Telnet(host, port) as tn: 
  tn.read_until(b"login:") 
  tn.write(id.encode('ascii') + b"\n") 
  if wd: 
    tn.read_until(b"password:") 
    tn.write(wd.encode('ascii') + b"\n") 
  tn.write(b"Restart\n")
  tn.read_until(b"Restart..")

 

[해외] HF 최소형 ELFINEW11ELFINEW110 무선 네트워킹 장치 MODBUS TPC IP 기능 RJ45 RS485WIFI 직렬 서버, EW11-0 Single Server, Other

 

반응형
반응형

이 포스팅은 Notion에서 작성되었으며 다음추천인 링크를 통해 가입하시면 $10 Credit을 얻으실 수 있습니다(저에게는 $5 Credit이 쌓입니다) Notion 가입 Link

"재부팅이 되고 특정 프로세스가 자동으로 시작되면 좋겠다" 라는 생각을 기본적으로 많이들 하실거라고 생각합니다. QNAP에서도 autorun.sh를 기본적으로 사용할 수 있지만, 일부 명령어들은 QPKG실행 디펜던시 때문인지는 몰라도 실행이... 안되는 현상을 보이고있었습니다. 그래서 사용가능한 또다른 방법으로 Autorun QPKG를 만들어 APP중의 하나로 제일 마지막에 실행 하도록 하는 방법입니다.

필요사항

  • SSH

설정방법

기본적으로 ssh를 통한 접근을 다 하신다는 가정하에 다음과 같은 스크립트를 특정 폴더에 넣어 줍니다.여기서 실행/멈추고 싶은 명령어들을 변경하여 기입해 주시면됩니다.

#!/bin/sh
CONF=/etc/config/qpkg.conf
QPKG_NAME="MyAutorun"

case "$1" in
  start)
        ENABLED=$(/sbin/getcfg $QPKG_NAME Enable -u -d FALSE -f $CONF)
        if [ "$ENABLED" != "TRUE" ]; then
                /bin/echo "$QPKG_NAME is disabled."
                exit 1
        fi
	# 실행하고자 하는 명령어 
        cd /share/my/HA/sds_wallpad/sds_wallpad
        ./run_standalone.sh &

        ;;

  stop)
	# 실행하였던 명령어
        PID=`ps -eaf | grep run_standalone.sh | grep -v grep | awk '{print $1}'`
        if [[ "" !=  "$PID" ]]; then
           echo "killing $PID"
           kill -9 $PID
        fi
        PID=`ps -eaf | grep sds_wallpad.py | grep -v grep | awk '{print $1}'`
        if [[ "" !=  "$PID" ]]; then
           echo "killing $PID"
           kill -9 $PID
        fi
        ;;

  restart)
        $0 stop
        $0 start
        ;;

  *)
        /bin/echo "Usage: $0 {start|stop|restart}"
        exit 1
        ;;
esac

exit 0

이렇게 생성된 스크립트에는 실행 권한을 주시고

chmod +x myautorun.sh

"/etc/config/qpkg.conf" 파일의 제일 마지막 줄에 다음과 같은 구문을 추가해 주시면됩니다. 여기서 젤 중요한 부분은 Shell 부분에 위에서 작성한 스크립트 경로를 넣어주시면 됩니다.

/etc/config/qpkg.conf 젤 마지막에 다음 추가

[MyAutorun]
Status = complete
Name = MyAutorun
Version = 1.0.0
Author = moggging
QPKG_File = None
Date = 2020-11-26
Shell = /share/my/myautorun/myautorun.sh
Install_Path = /share/my/myautorun
RC_Number = 101
WebUI = null
Display_Name = MyAutorun
Enable = TRUE

위와같이 수정후 재부팅 진행하면 다음과 같이 App center에서 MyAutorun QPKG가 생성되어 실행 및 정지 가능합니다. 맨뒤에 두었으므로 부팅 순서도 젤 뒤가되어 디펜던시 문제도 없을 것이라 생각됩니다.

반응형

+ Recent posts