저는 사진을 잘 찍지 않지만, 여행을 좋아하거나 아이를 키우는 분들은 사진을 꽤 많이 찍고, 또 이것을 여러 사람과 나누고 싶어 합니다. 그리고 그런 분들이 나스를 많이 구매하시는 것 같더라고요. 그래서 사진 관리 서비스에 대한 글을 꼭 쓰고 싶었는데요. 이렇게 늦어지게 된 것에는 이유가 있습니다.


Piwigo는 안 예쁘잖아

Piwigo 공식 홈페이지

원래 이쪽에서 유명한 서비스는 Piwigo입니다. 당장 구글에 “Piwigo 설치 라고만 검색해 봐도 많은 결과를 볼 수 있어요. 그런데…

피위고는 안 예쁩니다. 주관적인 기준이긴 하지만요.

물론 이건 저의 개인적인 편견입니다. 이 얘기를 하려고 피위고의 홈페이지를 접속해 보니, 많이 예뻐졌네요. 하지만 이미 저는 다른 서비스로 글을 쓸 준비를 끝냈습니다.

바로 Lychee라는 서비스입니다. 과일 리치를 의미하는 것 같네요. 저는 글쓰기 직전까지 “리체”라고 읽고 있었습니다…

Lychee

Lychee 배너 이미지
Lychee 공식 홈페이지

Lychee는 설치형 사진 관리 서비스입니다. 관리라고 하니 뭔가 거창한 것 같지만, 그냥 웹 갤러리 서비스입니다. 군더더기 없는 깔끔한 디자인과 직관적인 인터페이스, 사진을 공개적으로 공유할 수 있는 다양한 옵션이 있어 쓸만한 것 같네요.

한국어 지원이 되지 않고, 스마트폰용 앱이 아직 없다는 점은 좀 아쉽긴 합니다.

자, 설치해 봅시다.

사전 작업

이 서비스는 크게 사진을 관리하는 폴더와 서비스 설정을 관리하는 폴더가 필요합니다.

사진 관리 폴더 생성

리치는 DS Photo 같은 웹 갤러리 서비스와는 다르게 지정한 폴더의 사진을 곧바로 보여주는 방식은 아닙니다. 서비스에 사진을 등록하는 과정을 거쳐야 하거든요. 불편하다고 생각할 수도 있는데요, 사진의 크기를 조절하여 제공하는 등의 기능을 제공하려면 필요한 것 같아요.

중요한 것은 기존의 사진 폴더를 그냥 지정하면 안 되고, 리치 전용의 사진 폴더가 있어야 한다는 점이에요. /data/lychee라는 폴더를 그런 용도로 사용하도록 하겠습니다.

$ mkdir -p /data/lychee

서비스 설정 폴더 생성

그리고 리치의 도커에서 필요로 하는 설정 폴더입니다. confsym 폴더를 만들라는데요. sym 폴더는 뭘 의미하는 걸까요? 잘 모르겠지만 일단 만들어 줍시다.

$ mkdir -p /docker/lychee/{conf,sym}

DB 폴더 생성

사용자 정보와 사진 설정 등을 저장할 DB도 있어야겠죠?

$ mkdir -p /docker/lychee/mysql

도커 컨테이너 생성

리치 공식 도커 깃허브에 샘플 docker-compose.yml이 제공되고 있어요. 그걸 우리 상황에 맞게 고쳐 봅시다.

아래의 docker-compose 파일 내용을 포테이너의 Add Stack > Web editor 아래의 공간에 복사하여 붙여넣습니다.

version: '3'

services:
  lychee_db:
    image: mariadb:10
    environment:
      - MYSQL_ROOT_PASSWORD=lychee
      - MYSQL_DATABASE=lychee
      - MYSQL_USER=lychee
      - MYSQL_PASSWORD=lychee
    expose: 
      - 3306
    volumes:
      - /docker/lychee/mysql:/var/lib/mysql
    restart: unless-stopped

  lychee:
    image: lycheeorg/lychee
    ports:
      - 8012:80
    volumes:
      - /docker/lychee/conf:/conf
      - /data/lychee:/uploads
      - /docker/lychee/sym:/sym
    environment:
      - PHP_TZ=Asia/Seoul
      - DB_CONNECTION=mysql
      - DB_HOST=lychee_db
      - DB_PORT=3306
      - DB_DATABASE=lychee
      - DB_USERNAME=lychee
      - DB_PASSWORD=lychee
      - STARTUP_DELAY=30
    restart: unless-stopped
    depends_on:
      - lychee_db

expose라는 옵션을 처음 만나보는데요, 찾아보니 같은 Stack의 컨테이너 내에서만 쓸 수 있도록 포트를 개방하는 것이라고 하네요. ports하고는 다른 옵션입니다. 네, 무슨 말인지 모르겠다고요? 그럼 그냥 넘어갑시다.

서비스 동작 확인 및 초기 설정

센스가 좋으신 분은 제가 몇 번으로 서비스 포트를 지정할지 알고 계셨을 수도 있어요. Llychee니까 열 두 번째 알파벳이죠. http://나스_IP:8012에 접속해 봅시다.

최초 사용자를 생성합니다.

Lychee 최초 사용자 생성

사진 업로드

오른쪽 위의 + 아이콘을 누르면 사진을 올리거나 앨범 폴더를 만들 수 있습니다. 다양한 경로로부터 사진을 올릴 수 있는데요. 저는 대표적인 두 가지 방법을 소개할게요.

웹상으로 사진 올리기

Lychee 웹으로 사진 업로드

Upload Photo 버튼을 눌러 카페나 블로그에 글을 쓸 때처럼 사진을 올릴 수 있어요. 등록하고자 하는 사진을 이렇게 올리면 됩니다.

그런데 뭔가 더 직관적인 방법이 있을 것도 같죠? PC의 사진을 웹 페이지에 직접 끌어다 놓아도 등록이 됩니다! 이런 방식을 드래그-앤-드롭이라고 하죠. 요즘 서비스는 기본적으로 지원하는 것 같네요.

import 폴더 이용하여 사진 올리기

하지만 대량의 사진을 이렇게 올리다간 지쳐서 금방 때려치울 거예요. 그런 상황을 위해 리치는 import 폴더를 통한 사진 업로드를 지원합니다.

설치를 잘 끝냈다면 /data/lychee/import라는 폴더가 보일 텐데요. 여기에 등록할 사진을 쓸어 담아 넣어줍니다.

Lychee import 폴더 사진 업로드

그리고 이 메뉴를 선택하면

Lychee import 업로드 폴더 지정

이렇게 업로드 폴더를 지정하는 화면이 나옵니다. 폴더 경로가 생소하지만, 이 폴더가 /data/lychee/import를 의미하는 거예요. 혹시 도커의 볼륨 매핑에 대해 이해하고 계신다면, 다른 폴더를 선택하여 사진을 올릴 수도 있습니다.

Delete originals는 업로드 후 /data/lychee/import의 내용을 지울지 말지를 선택하는 건데요. 업로드된 사진은 어차피 /data/lychee/raw 폴더에 담길 테지만, 원본 유실에 대한 부담이 있다면 체크를 해제하도록 합시다.

사진을 올리는 것 이외에도 앨범을 생성하여 사진을 관리하거나, 여러 사람이 쓸 수 있도록 사용자를 생성하고 권한을 주는 방법, 특정 사진을 로그인 없이도 볼 수 있도록 공개하거나 다양한 방식으로 공유하는 방법 등 이것저것 눌러보면 다양한 기능이 있다는 것을 알 수 있는데요. 제가 영어를 못해서 글이 너무 길어지므로 생략하고 직접 찾아보는 것으로 하겠습니다.


그리고 남은 이야기

원래 이 시리즈는 많은 자체 플러그인을 삭제하고 도커를 통해 서비스 설치를 권장하는 OMV5를 위한 도커 기반 서비스 설치 가이드였습니다. 그리고 궁극적으로는 도커에도 시놀로지에 있는 여러 패키지에 대응하는 서비스가 있다는 것을 알려드리고자 했어요.

그리고 지금까지 꽤 많은 서비스를 찾아낸 것 같네요. 더는 못 찾겠어서 그래서 앞으로는 다른 주제로 진행하려고 합니다. 물론, 좋은 도커 이미지를 찾게 되면 이 시리즈에도 글이 추가될 거예요.

댓글남기기