윈도우에서 Typesense 서버 구동하기

negu63·2022년 11월 23일
0
post-thumbnail

Typesense?

엘라스틱서치나 알고리아와 같은 검색 엔진이며 무려 오픈소스입니다.

글을 쓴 동기

typesense 서버를 구동하는 방법에는 세 가지가 있습니다.

  1. 바이너리 패키지
  2. 도커
  3. 클라우드

이중에서 윈도우에서 작동하며 추가적인 비용이 발생하지 않는 도커를 이용하는 방법을 채택했습니다.

그런데 문서에 생략된 부분과 예기치 못한 오류들로 꽤 난항을 겪어서 이 해결법들에 대해 공유하고자 글을 썼습니다.

1. WSL

WSL은 리눅스용 윈도우 하위 시스템입니다.

윈도우에서 리눅스를 사용할 수 있게 해줍니다.

docker가 이를 이용해 윈도우 속의 리눅스(?!)에서 typesense 서버를 실행하기 때문에 필요합니다.

1-1. WSL 활성화 및 패키지 설치

좋은 글이 있어서 대체합니다!

1번부터 4번까지 따라하시면 됩니다.

https://suzxc2468.tistory.com/211

1-2. WSL 부가 설정

WSL와 docker가 원활하게 동작하려면 WSL 2 버전이 필요합니다.

그런데 저만 그런진 모르겠지만 WSL에 리눅스를 설치하고 버전을 변경하려고 하면 변경이 안됩니다.

그래서 리눅스를 설치하기 전에 처음부터 버전 2로 설치될 수 있도록 사전에 설정해줍니다.

명령 프롬프트에 다음을 입력합니다.

wsl --set-default-version 2

1-3. 리눅스 설치

마이크로 소프트 스토어에서 원하는 리눅스를 검색해 설치하고 실행해서 이름, 비밀번호 등을 설정하면 됩니다.

저는 Ubuntu-20.04.5 LTS를 사용했습니다.

1-4. 설치 확인

정상적으로 설치가 되었다면 윈도우 키를 누르고 WSL을 검색해서 실행하면 리눅스 쉘이 실행됩니다.

2. docker

2-1. docker 설치

docker for desktop을 설치해줍니다.

2-2. WSL 확장 설정

아마 설정되어 있을텐데 혹시 모르니 확인해줍니다.

Settings > Resources > WSL Integration > Enable integration with my default WSL distro

체크 박스가 채워져 있어야 합니다.

2-3. WSL 연동 확인

명령 프롬프트에 다음을 입력합니다.

wsl docker --version
# Docker version 20.10.21, build baeda1f

3. typesense

3-1. 이미지 받기

WSL을 실행하고 다음을 입력합니다.

docker pull typesense/typesense:0.23.1

3-2. 컨테이너 실행

WSL을 실행하고 다음을 입력합니다.

# xyz 자리에 원하는 임의의 키 값 입력
export TYPESENSE_API_KEY=xyz

mkdir $(pwd)/typesense-data

docker run -p 8108:8108 -v$(pwd)/typesense-data:/data typesense/typesense:0.23.1 --data-dir /data --api-key=$TYPESENSE_API_KEY --enable-cors

3-3. 서버 구동 확인

WSL을 실행하고 다음을 입력하면 정상적으로 실행되어 있는지 확인할 수 있습니다.

curl http://localhost:8108/health
# response: {"ok":true}

마치며

서버를 구동했으면 원하는 API 클라이언트를 이용해 검색 엔진을 사용하면 됩니다.

공식 API 클라이언트는 javascript, php, python, ruby가 있으며

커뮤니티 기여 API 클라이언트는 Go, Dart, C# 등이 있습니다.

아쉽게도 대시보드 등의 GUI는 타입센스 클라우드 서비스에서만 지원하는 것 같습니다.

그래서 오픈소스 타입센스 대시보드를 찾았습니다!

끝!

감사합니다~

profile
No matter how long it take

0개의 댓글