hoarder – 모든걸 북마킹 하는 앱. 셀프호스트 가능
위 기사를 보고 hoarder를 구축하려고 결심. 배포할 곳은 오라클 클라우드에 있는 ubuntu 인스턴스.
아래 글을 보고 설치하기 시작.
https://docs.hoarder.app/Installation/docker
_1 docker설치
https://docs.docker.com/engine/install/ubuntu
아래 명령을 실행해 문제 없는지 확인
sudo docker run hello-world
_2 hoarder 설치
https://docs.hoarder.app/Installation/docker/ 를 읽으면서 진행.
입력한 명령어는 다음과 같다.
디렉터리 만들고 docker-compose.yml을 다운로드
mkdir hoarder-app
wget https://raw.githubusercontent.com/hoarder-app/hoarder/main/docker/docker-compose.yml
임의의 문자열 생성(2번)
openssl rand -base64 36
-> 여기서 나오는 텍스트를 메모해둔다
nano .env
-> 나노 에디터로 .env파일 작성.
참고로 나노 에디터가 없으면 아래 명령으로 설치 가능.
sudo apt install -y nano
.env 파일 작성
HOARDER_VERSION=release
NEXTAUTH_SECRET=위에서 작성한 임의의 문자열1
MEILI_MASTER_KEY=위에서 작성한 임의의 문자열2
NEXTAUTH_URL=http://localhost:3000
오픈AI의 키를 작성할 수 있으면
OPENAI_API_KEY=<key>의 형태로 입력하여, .env파일의 끝에 추가.
.env 파일 수정
HOARDER_VERSION=release
NEXTAUTH_SECRET=위에서 작성한 임의의 문자열1
MEILI_MASTER_KEY=위에서 작성한 임의의 문자열2
NEXTAUTH_URL=http://localhost:3000
OPENAI_API_KEY=발급한 OpenAI 키
-> 참고로 groq.com의 무료티어 API를 이용하는 방법이 있다.
_3 hoarder 기동
아래 명령으로 docker 컨테이너 기동
docker compose up -d
나의 경우에는 아래 에러가 발생했다.
WARN[0000] /home/ubuntu/hoarder-app/docker-compose.yml: the attribute `version` is obsolete, it will be ignored, please remove it to avoid potential confusion
unable to get image 'gcr.io/zenika-hub/alpine-chrome:123': permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Get "http://%2Fvar%2Frun%2Fdocker.sock/v1.47/images/gcr.io/zenika-hub/alpine-chrome:123/json": dial unix /var/run/docker.sock: connect: permission denied
chatGPT에 물어보니 권한 문제라고 한다. 아래 내용으로 문제 해결.
현재 사용자 (ubuntu)가 Docker 그룹에 속해 있지 않아 Docker 소켓(/var/run/docker.sock)에 접근하지 못하는 상황입니다.
Docker 그룹에 사용자 추가
- Docker 그룹에 현재 사용자를 추가합니다.
sudo usermod -aG docker $USER - 변경 사항을 적용하려면 로그아웃 후 다시 로그인하거나 아래 명령을 실행합니다.
newgrp docker - 권한이 제대로 적용되었는지 확인합니다.
docker ps
-> Docker 명령이 sudo 없이 실행되면 권한 문제가 해결된 것입니다.
_4 오라클 클라우드 포트 열기
수신 규칙 추가로 3000번 포트를 열 수 있다.
- 소스 유형: CIDR
- 소스 CIDR: 0.0.0.0/0
- IP 프로토콜: TCP
- 대상 포트 범위: 3000
_5 접속&테스트
웹 브라우저에 IP주소:3000 를 입력하여 접속. 화면 떴다!! Sign Up으로 최초로 가입한 사용자는 관리자 권한이 된다.
NEW ITEM에 웹 주소를 입력하고 저장하면 아래 그림처럼 자동으로 태그가 지정된다.
번외: hoarder에 크롬 브라우저의 즐겨찾기 가져오기
https://docs.hoarder.app/import 를 참고하여 chrome://bookmarks 에 들어가 북마크를 내보낸다.
오른쪽 위의 프로필 아이콘을 클릭 -> User Settings -> Import/Export -> Import Bookmarks from HTML file을 선택하여 방금 전에 내보낸 파일을 읽어들인다.
덧. 너무 느려서 최적화(?) 방법을 찾아봐야겠음.