작성일 댓글 남기기

[Docker] PhotoPrism 설치 및 업데이트

PhotoPrism 설치

PhotoPrism에서 제공하는 docker-compose.yml 파일을 적당한 위치에 다운로드 합니다.
예를 들어, /home/사용자이름/apps/photoprism 에 다운로드 받습니다.

wget https://dl.photoprism.app/docker/docker-compose.yml

vi 편집기로 docker-compose.yml 파일을 수정합니다.

기본 포트는 호스트 2342, 컨테이너 2342인데, 다른 포트로 변경하려면 변경합니다.
저는 그대로 2342로 했고, 아파치웹서버에서 ProxyPass로 외부 443번 포트를 2342포트로 넘겨주어 접속하게 했습니다.

ports:
– “2342:2342” # HTTP port (host:container)

admin 계정 비밀번호를 변경합니다. 큰 따옴표 안 insecure 부분을 지우고 입력해 주면 됩니다.

PHOTOPRISM_ADMIN_PASSWORD: “insecure” # initial admin password (8-72 characters)

5000MB 보다 큰 파일이 있다면 변경해 줍니다. 동영상의 경우 5기가보다 큰 영상이 있을 수 있습니다.
저는 0 하나를 더 붙였습니다.

PHOTOPRISM_ORIGINALS_LIMIT: 50000 # file size limit for originals in MB (increase for high-res video)

데이터베이스 설정은 건드릴 필요는 없는 것 같습니다. 비밀번호도 변경하지 않아도 됩니다.
PhotoPrism에서도 “데이터베이스를 다른 앱이나 호스트에 노출하지 않는다면 보안 비밀번호를 반드시 선택해야 하는 것은 아닙니다.”라고 합니다.
그러나 비밀번호를 변경하려면 반드시 처음 시작 전에 변경해야만 합니다.

데이터베이스는 docker-compose.yml이 있는 위치의 하위 디렉터리 database에 저장됩니다.

가장 중요한 PhotoPrism 볼륨 설정입니다. originals과 storage 두 개의 디렉터리만 연결하면 됩니다.
콜론(:) 앞의 부분을 원하는 디렉터리로 수정합니다.
originals은 이미 정리된 사진이 들어있는 디렉터리의 루트 경로를 적어주면 됩니다.
storoage는 스캔한 사진의 썸네일과 같은 캐시 파일이 저장될 경로를 적어주면 됩니다.

volumes:
– “~/Pictures:/photoprism/originals” # Original media files (DO NOT REMOVE)
– “./storage:/photoprism/storage” # *Writable* storage folder for cache, database, and sidecar files (DO NOT REMOVE)

제 경우는 /storage/photo_data 를 originals에, /storage/photoprism/storage 를 storage에 연결했습니다.
예전부터 정리해오면 사진 파일이 photo_data 디렉터리 아래에 년도별로 월별로 이벤트 별로 정리되어 있습니다.
이렇게 정리가 되어 있으면, PhotoPrism에서 앨범을 따로 만들 필요 없이, 폴더 메뉴를 통해 앨범처럼 접근할 수 있습니다.
(유사 서비스에는 대체로 폴더로 접근하게 해주는 기능이 없는 것으로 압니다.)

아래와 같이 수정해줬습니다.

volumes:
– “/storage/photo_data:/photoprism/originals” # Original media files (DO NOT REMOVE)
– “./storage/photoprism/storage:/photoprism/storage” # *Writable* storage folder for cache, database, and sidecar files (DO NOT REMOVE)

이제 도커를 실행해 줍니다.

sudo docker compose -d up

PhotoPrism 업데이트

업데이트는 간단합니다.

새로운 버전을 pull 해줍니다. 대략 2-3분 정도 다운로드 받고 Pull 합니다.

sudo docker compose pull

Pulling이 끝나면 도커를 재시작 해줍니다.

sudo docker compose stop
sudo docker compose up -d

최신 버전이 되었습니다.

작성일 댓글 남기기

Ubuntu Server에 Webmin 설치

Webmin에서 자동 스크립트를 만들어 놓았다.
아래 명령어로 Repository(저장소)를 추가한다.

curl -o setup-repos.sh https://raw.githubusercontent.com/webmin/webmin/master/setup-repos.sh
sudo sh setup-repos.sh

아래 명령어로 webmin을 설치한다.

sudo apt install –install-recommends webmin

아래 주소로 Webmin에 접속하여 자신의 계정으로 접속한다.

192.168.0.xxx:10000

작성일 댓글 남기기

Nextcloud APCu Memcached Redis 설정

PHP 8.2 기준

APCu Memcache Redis 설치

sudo apt install memcached redis-server php8.2-memcached php8.2-redis php8.2-apcu

APCu 설정

sudo vi /etc/php/8.2/mods-available/apcu.ini

아래 내용 추가
apc.enable_cli=1

Redis 설정

redis 설정 파일 열기

sudo vi /etc/redis/redis.conf

아래 부분이 주석처리 되어 있다면 주석 해제 (맨 앞의 # 문자 제거)

#port 6379
#unixsocket /var/run/redis/redis-server.sock
#unixsocketperm 700

아래로

port 6379
unixsocket /var/run/redis/redis-server.sock
unixsocketperm 770

redis 사용자 www-data 그룹에 추가

sudo usermod -a -G redis www-data

Nextcloud 설정

nextcloud/config/config.php 파일에 아래 내용 추가

‘memcache.local’ => ‘\\OC\\Memcache\\APCu‘,
‘memcache.distributed’ => ‘\\OC\\Memcache\\Memcached‘,
‘memcached_servers’ =>
array (
0 =>
array (
0 => ‘localhost’,
1 => 11211,
),
),
‘memcache.locking’ => ‘\\OC\\Memcache\\Redis‘,

아파치 서버 재시작

sudo service apache2 restart

Nextcloud 관리자 페이지에 들어가면 메모리 캐시 관련 경고가 사라졌다.

작성일 댓글 남기기

Nextcloud 수동 업그레이드

업그레이드 하고자 하는 버전의 링크 주소를 복사

여기서는 25버전에서 다음 버전으로 자동 업데이트가 되지 않아 아래 주소에서  26.0.0 버전을 다운 받음

https://nextcloud.com/changelog

wget https://download.nextcloud.com/server/releases/nextcloud-26.0.0.tar.bz2

기존 nextcloud 디렉터리의 이름을 nextcloud_old로 변경

mv nextcloud nextcloud_old

bz2 압축파일을 풀어줌

tar -xvf nextcloud-26.0.0.tar.bz2

아파치 서버를 멈춰줌

sudo service apache2 stop

기존의 config.php 파일을 복사

sudo cp nextcloud_old/config/config.php nextcloud/config/

data 경로를 따로 쓰지 않았다면 data 디렉터리를 mv 명령어로 옮겨야 한다(대부분 따로 쓰지 않나 싶음).

nextcloud 디렉터리의 소유자와 권한을 수정.

sudo chmod -R 770 nextcloud
sudo chown -R www-data:www-data nextcloud

아파치 서버를 다시 시작함

sudo service apache2 start

브라우저로 클라우드 접속하여 업데이트 진행

작성일 댓글 남기기

Mac 사용시 네트워크 위치에서 .DS_Store 파일 삭제 및 생성 방지

생성된 .DS_Store 파일 삭제.

sudo find [경로] -name .DS_Store -print -delete

네트워크 위치에서 .DS_Store 파일을 생성하지 않도록 설정. Mac 터미널에서 실행.

defaults write com.apple.desktopservices DSDontWriteNetworkStores -bool TRUE

다시 생성하도록 되돌리기

defaults write com.apple.desktopservices DSDontWriteNetworkStores -bool FALSE