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

헤놀로지(시놀로지)에 Docker Compose로 Seafile 구축하기.

쿠로네코 1280

8

6

DSM 7 기준으로 헤놀로지에 Seafile을 설치해볼겁니다.

 

준비물

 

헤놀로지 / 시놀로지 DSM 7 이상 버전 (6도 상관 없지만, UI가 조금 다릅니다)

Docker 패키지

텍스트 편집기 패키지

SSH 접속 수단 (다른 강좌가 많습니다)

 

* 주의사항

 

/volume1에 docker를 설치한 기준이며, 만약 여러개의 볼륨이 있다면 경로를 적절히 바꾸셔야 합니다.

 

 

1. Seafile 저장 폴더 준비

 

먼저 seafile의 파일들이 저장될 폴더를 준비해주세요. 위치는 상관이 없지만, 절대 경로를 알고 계셔야 합니다. (/volume1/seafile 등)

 

여기서는 seafile 이란 공유 폴더를 사용하겠습니다.

image.png.jpg

Seafile은 자체적으로 파일 암호화 기능을 지원하므로, 공유 폴더를 암호화할 필요는 크게 없을 것 같습니다.

 

 

2. Docker Compose 파일 준비

 

/docker 폴더 밑에 seafile 폴더를 생성하고, 그 안에 mysql 폴더를 미리 생성해둡니다.

 

그리고 텍스트 편집기를 열어서 새로운 파일을 만들어줍니다.

image.png.jpg

 

하단에서 YAML 언어를 선택해주세요.

image.png.jpg

 

아래 내용을 붙여넣고, 적절히 수정하셔야합니다.

https://pastebin.com/zaxZpVsd

Pastebin.com is the number one paste tool since 2002. Pastebin is a website where you can store text ...

 

* pastebin을 embed할 방법이 있나요? 코드를 첨부하는게 내장되어있지 않아서 문의드립니다.

 

위 코드에서 계정 정보는 꼭 수정해주세요. (아래 2개)

SEAFILE_ADMIN_EMAIL=admin@sample.com

SEAFILE_ADMIN_PASSWORD=adminpasswordsample

 

또한 볼륨 1에 도커를 설치하지 않았거나, 제가 생성했던 공유 폴더 (seafile)과 다른 저장 위치를 사용하신다면 아래 두줄도 꼭 수정하셔야합니다.

- /volume1/docker/seafile/mysql:/var/lib/mysql  # DB 파일을 저장할 경로가 앞에 옵니다. 볼륨 1에 도커를 설치했다면 그대로 두세요.

- /volume1/seafile:/shared   # Seafile 파일을 저장할 경로가 앞에 옵니다. 볼륨 1에 seafile 공유 폴더를 생성하셨다면 그대로 두세요.

 

그 다음 Ctrl + S를 누르셔서 아까 만들었던 docker/seafile 폴더 밑에 docker-compose.yml 란 이름으로 저장해주세요.

image.png.jpg

 

저는 이미 파일을 만들어둬서 파일이 있습니다.

 

인코딩이 UTF-8이 아니면 오류가 발생할 수 있으니 주의해주세요.

 

파일 준비가 완료되면 다음과 같이 보일 것입니다.

 

image.png.jpg

 

 

3. Docker Compose로 Seafile 실행하기.

 

SSH로 접속해주세요.

 

먼저 아래 명령어를 통해 root 계정으로 접근합니다.

sudo su

 

그 다음 docker 설치 위치 밑에 seafile 폴더로 이동해주세요. 전 볼륨 1에 설치해서 볼륨 1로 이동하겠습니다.

cd /volume1/docker/seafile/

image.png.jpg

 

그리고 docker compose 실행하는 명령을 입력해주세요.

docker-compose up -d

image.png.jpg

 

아마 뭐가 길게 뜨면서 이미지를 다운로드할 것입니다. 끝날때까지 기다리면 마지막애 아래 모습을 볼 수 있게됩니다.

image.png.jpg

 

 

4. HTTP/HTTPS 외부 접속 설정

 

제어판 - 로그인 포털 - 고급 - 역방향 프록시를 들어가주세요.

image.png.jpg

 

생성 버튼을 누른 후 아래처럼 내용을 채워주세요.

image.png.jpg

위에 소스 라 적힌 부분에 정보가 외부 접속 정보입니다.

저는 가상 호스트 (도메인 기반으로 접속하게 하는 것)는 아직 사용하지 않아, 포트를 8000으로 했습니다.

 

이러면 https://나스주소:8000 으로 접속시 seafile이 보이게 됩니다.

 

만약 도메인이 없어 http를 사용하지 않는다면 프토로콜을 http로 바꿔주시면 됩니다.

 

그리고 고급 설정 탭으로 넘어가서 시간을 충분히 늘려주세요. 대용량 파일 업로드시 아주 긴 시간이 걸릴 수 있어, 여기 값을 충분히 큰 값으로 해둬야 업로드 도중에 오류가 나지 않습니다.

image.png.jpg3600초는 1시간인데, 적다고 생각되면 더 늘려도 됩니다.

 

저장하시면 외부 접속 설정이 완료됩니다.

 

 

5. Seafile 기본 설정

 

위에서 만든 포트 혹은 도메인으로 접속하면 이제 Seafile을 볼 수 있게됩니다.

(포트 포워딩 등 외부 접속 설정 잊지 마세요)

image.png.jpg

 

맨 위에서 적은 기본 관리자 계정으로 로그인합니다.

 

우측 상단에 아이콘을 눌러서 시스템 관리자로 들어갑니다. (아바타 안뜨는 문제는 다음 섹션에서 해결하겠습니다. 선택사항)

 

 

설정에 들어가서 URL을 바꿔야합니다.

image.png.jpg

 

 

 

주소는 본인 주소로 바꿔주시고, 우측에 체크박스 뜨면 거기서 체크를 눌러야 저장이 됩니다.

http / https도 주의해서 써주세요.

 

이제 사용이 가능한 상태이긴 한데, 아직 아바타가 안뜨는 짜증나는 문제가 있습니다.

 

 

6. Seafile 아바타 안뜨는 문제 수정

 

우선 Docker 앱을 실행하고 컨테이너 목록에 가서 seafile을 정지합니다.

image.png.jpg

seafile 우측에 토글 버튼을 누르면 됩니다.

image.png.jpg

같은 방법으로 seafile-memcached 라고 된 친구를 정지합니다. (순서가 중요합니다)

image.png.jpg

 

그리고 다시 seafile-memcached를 실행하고, seafile을 실행해줍니다. (같은 버튼 클릭, 이것 역시 순서가 중요합니다.)

image.png.jpg

 

그리고 아까 작업했던 터미널로 돌아와서 root 인 상태로 아래 명령어를 입력해주세요. root가 아니라면 sudo su를 치고 실행해주세요.

docker container ls

 

그러면 아래 그림처럼 도커 컨테이너 목록이 나오는데, image가 seafileltd로 시작하는 컨테이너의 container id를 복사하시면 됩니다.

image.png.jpg

 

그리고 아래 명령을 입력해주세요.

docker exec -it [복사한 컨테이너 아이디] /bin/bash

 

아래처럼 seafile이 보이면 정상입니다.

image.png.jpg

 

그리고 아리 명령을 입력해서 nginx 설정 수정으로 들어가야 합니다.

vim /etc/nginx/nginx.conf

image.png.jpg

 

아래 그림처럼 나올텐데 저 www-data를 root로 수정할 것입니다.

image.png.jpg

 

키보드에서 i 를 입력하고, 좌측 하단에 -- INSERT -- 라고 나오는지 확인해주세요.

image.png.jpg

 

커서를 옮기셔서 www-data를 지우고 root를 입력하면 됩니다.

image.png.jpg

image.png.jpg

 

그리고 ESC 키를 입력하면, 좌측 하단에 -- INSERT -- 가 사라졌을 겁니다.

 

이 상태에서 키보드에서 아래 키를 그대로 눌러주세요.

:wq

 

그럼 좌측 하단에 입력될 것입니다.

image.png.jpg

 

엔터 누르면 파일에서 나와집니다.

 

마지막으로 아래 명령을 입력하면 끝입니다.

service nginx reload

 

OK가 나와야 정상입니다.

image.png.jpg

 

 

Seafile로 돌아와보면 아바타가 잘 나올겁니다.

image.png.jpg

 

 

사실 작업을 해서 seafile을 실행하는데 성공했는데, 게시글 올릴라고 밀고 다시 했습니다.... 이게 더 오래 걸리네요.

 

그런데 seafile이 종단간 암호화를 지원하는 줄 알았는데, 웹 클라이언트에서 암호화된 라이브러리를 생성하니까 암호가 서버에서 유지된다고 하네요. 모바일 클라이언트에는 서버에서 복호화하지 않고, 클라이언트에서 하는 옵션이 있던데 웹은 지원이 안되나봅니다.

 

정말로 안전하게 사용한다면 지원되는 클라이언트에서 클라이언트측 암호화만 사용해야할 것 같네요.

 

신고공유스크랩
6
profile image
달소 2022.04.14. 23:52

와,,, 정말 정성스러운 가이드 감사합니다

이글도 추후에 공지사항에 넣어도 괜찮을까요??

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

취소 댓글 등록

cmt alert

신고

"님의 댓글"

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

댓글 삭제

"님의 댓글"

삭제하시겠습니까?


목록

공유

facebooktwitterpinterestbandkakao story

첨부 0

번호 분류 제목 글쓴이 날짜 조회 추천
공지 정보 DSM 7.2v) Mshell로 헤놀로지 부트로더 빌드하기. 60 달소 23.05.29.01:57 24207 +23
공지 정보 DSM 7.2v) ARPL-i18n(rr)으로 헤놀로지 부트로더 빌드하기. 71 달소 23.05.23.23:58 25777 +23
잡담 RAID5(SHR)의 저장속도가 이렇게나 빠른거였네요.. (NVMe SSD삽질) 10 estel1 2일 전23:51 427 +2
가이드 시놀로지 도커로 Wireguard VPN + qBittorrent + tsharp(It's torr) 사용하기 10 펜타네스트 5일 전16:13 391 +4
질문 헤놀로지 2.5g usb 랜카드 추가 5 넌누구냐 5일 전14:38 315 +1
5067 질문
image
서브어린이 14시간 전19:59 259 0
5066 질문
normal
현이들아빠 19시간 전15:02 123 0
5065 질문
image
서브어린이 22시간 전12:18 325 0
5064 질문
image
지나가는_문과생 22시간 전12:14 237 0
5063 질문
image
동도리군 1일 전07:16 79 0
5062 질문
normal
서브어린이 1일 전21:48 87 0
5061 질문
image
사십동 2일 전05:49 159 0
5060 질문
image
서브어린이 2일 전23:57 122 0
5059 잡담
image
estel1 2일 전23:51 427 +2
5058 질문
image
까칠한나그네 2일 전14:20 213 0
5057 질문
normal
라라라라데이 2일 전12:29 297 0
5056 질문
image
orange0909 2일 전12:20 278 0
5055 질문
image
금화 3일 전15:14 340 0
5054 질문
image
당신의곁애 3일 전12:24 235 0
5053 질문
normal
정전리 3일 전12:14 138 0
5052 질문
normal
xpnol 3일 전11:09 271 0
5051 질문
normal
서브어린이 3일 전11:06 73 0
5050 질문
image
맥주소주양주 3일 전10:47 80 0
5049 질문
image
nvses 4일 전22:55 219 0
5048 질문
normal
estel1 4일 전12:33 253 0