Share
Sign In

유비온 서버 설치 문서 v1

0.Backend와 Frontend는 Secure Cookie 사용 및 로그인을 위해 HTTPS 설정을 해주셔야 합니다.

1.몽고디비는 생성해서 사용하세요 (uss-dev, logdb)

→ 컬렉션 기본값 설정방식은 별도로 전달

2.인스턴스서버 3가지 설치 (frontend, backend (API), aibackend (AI))

→ 각각의 env 파일은 별도로 전달
파일명
백엔드: .env
ai백엔드: .env.setup
프론트엔드: .env.local

[Setup Veluga Backend 컨테이너 설치 가이드]

1. 사전 준비 사항

Docker 설치: Docker가 설치되어 있어야 합니다. Docker 설치 방법은 Docker 공식 문서를 참고하세요.

2. Docker 이미지 Pull

Azure Container Registry(ACR)에 저장된 Docker 이미지를 Pull하려면 다음 단계를 따르세요.

2.1. ACR 로그인

외부업체는 ACR에 접근할 수 있는 인증 정보(사용자 이름 및 비밀번호)를 제공받아야 합니다. 다음 명령어를 사용하여 ACR에 로그인합니다.
docker login ubioncontainerregistry.azurecr.io -u <ACR_USERNAME> -p <ACR_PASSWORD>
<ACR_USERNAME>: 제공받은 ACR 사용자 이름
<ACR_PASSWORD>: 제공받은 ACR 비밀번호

2.2. Docker 이미지 Pull

로그인 후, 다음 명령어를 사용하여 Docker 이미지를 Pull합니다.
docker pull ubioncontainerregistry.azurecr.io/setup-veluga-backend:latest
latest: 최신 버전의 이미지를 Pull합니다. 특정 태그가 필요한 경우, 해당 태그로 변경하세요.

3. 환경 변수 파일 준비

아래는 .env 파일의 예시 템플릿입니다.

3.1. .env 파일 예시

PORT=8080 NODE_ENV=local ENVIROMENT=local # JWT 및 암호화 비밀키 # 임의 값 설정 JWT_SECRET=your_jwt_secret ENCRYPTION_SECRET=your_encryption_secret ENCRYPTION_API_KEY_SECRET=your_encryption_api_key_secret # MongoDB 설정 MONGO_CLUSTER=your_mongo_cluster_url MONGO_LOGDB=your_mongo_logdb_url MONGO_DBNAME=your_mongo_dbname MONGO_USER=your_mongo_user MONGO_PASSWORD=your_mongo_password # 백엔드 서버 및 ai 서버 URL 설정 # 배포된 주소 설정 SERVER_URL=https://your_api_server_url AI_SERVER_URL=your_ai_server_url # Mailgun 키 설정 MAILGUN_API_KEY=your_mailgun_api_key # GCP 자격 증명 VELUGA_BACKEND_GOOGLE_CREDENTIAL='your_google_credentials_json' VELUGA_BACKEND_GOOGLE_SA=your_google_service_account_json # 노션 인증 및 콜백 설정 # 사용하실 경우 설정 SOCIAL_NOTION_CLIENT_ID=your_notion_client_id SOCIAL_NOTION_CLIENT_SECRET_ID=your_notion_clinet_secret_id NOTION_CALLBACK_URL=https://your-api-url/external-app/notion/callback # sqs or rabbitmq 택 1 (ai 서버와 일치해야 함) SET_QUEUE_TYPE=sqs # AWS SQS 설정 # RABBITMQ 사용 시 무시 # 먼저 FIFO 큐 생성 후 설정 AWS_ACCESS_KEY_ID=your_aws_access_key AWS_SECRET_ACCESS_KEY=your_aws_secret_key AWS_SQS_QUEUE_URL=your_sqs_queue_url # RABBITMQ 설정 # SQS 사용 시 무시 # QUEUE NAM은 임의로 설정 후 ai서버와 동기화 RABBITMQ_URL=your_rabbitmq_url RABBITMQ_QUEUE_NAME=your_rabbitmq_queue_name # 법령 API 정보 https://open.law.go.kr/ LAW_API_OC_NAME=your_law_api_oc_name LAW_API_DOMAIN=https://www.law.go.kr/DRF/lawService.do LAW_API_SEARCH_DOMAIN=https://www.law.go.kr/DRF/lawSearch.do LAW_DOMAIN=https://www.law.go.kr/lsSc.do PREC_DOMAIN=https://www.law.go.kr/판례/ # Partner ADMIN_API_URL=https://admin-api.veluga.app PARTNER_API_KEY=your_veluga_partner_api_key
주의사항:
모든 your_* 항목을 실제 값으로 대체하세요.
DB, API_KEY, Queue 등은 직접 만드시면 됩니다.
.env파일은 보안상 안전한 위치에 보관하고, 접근 권한을 제한하세요.
VELUGA_BACKEND_GOOGLE_SA는 ''(따옴표)로 묶지 말고 json 형식 그대로 넣어주세요.
PARTNER_API_KEY 는 별도로 전달드린 값을 넣어주세요.
sqs 와 rabbitmq 중 하나를 선택해서 사용하시고, 선택한 큐 정보가 ai 서버와 일치해야 합니다.

4. Docker 컨테이너 실행

환경 변수 파일을 준비한 후, 다음 명령어를 사용하여 Docker 컨테이너를 실행합니다.
docker run -d -p 8080:8080 --env-file ./path/to/.env ubioncontainerregistry.azurecr.io/setup-veluga-backend:latest

명령어 설명

d: 컨테이너를 백그라운드에서 실행합니다.
p 8080:8080: 호스트의 포트 8080을 컨테이너의 포트 8080에 매핑합니다. 필요에 따라 포트를 변경할 수 있습니다.
-env-file ./path/to/.env: 외부업체가 생성한 .env파일의 경로를 지정합니다.
ubioncontainerregistry.azurecr.io/setup-veluga-backend:latest: 사용하려는 Docker 이미지와 태그입니다.
예시:
docker run -d -p 8080:8080 --env-file ./.env ubioncontainerregistry.azurecr.io/setup-veluga-backend:latest

5. 컨테이너 상태 확인 및 관리

5.1. 실행 중인 컨테이너 확인

docker ps

5.2. 컨테이너 로그 확인

실행 중인 컨테이너의 로그를 확인하려면 다음 명령어를 사용하세요.
docker logs <컨테이너_ID>

5.3. 컨테이너 중지

컨테이너를 중지하려면 다음 명령어를 사용하세요.
docker stop <컨테이너_ID>

5.4. 컨테이너 제거

컨테이너를 제거하려면 다음 명령어를 사용하세요.
docker rm <컨테이너_ID>

[Setup Veluga AI Backend 컨테이너 설치 가이드]

1. 사전 준비 사항

Docker 설치: Docker가 설치되어 있어야 합니다. Docker 설치 방법은 Docker 공식 문서를 참고하세요.

2. Docker 이미지 Pull

Azure Container Registry(ACR)에 저장된 Docker 이미지를 Pull하려면 다음 단계를 따르세요.

2.1. ACR 로그인

외부업체는 ACR에 접근할 수 있는 인증 정보(사용자 이름 및 비밀번호)를 제공받아야 합니다. 다음 명령어를 사용하여 ACR에 로그인합니다.
docker login ubioncontainerregistry.azurecr.io -u <ACR_USERNAME> -p <ACR_PASSWORD>
<ACR_USERNAME>: 제공받은 ACR 사용자 이름
<ACR_PASSWORD>: 제공받은 ACR 비밀번호

2.2. Docker 이미지 Pull

로그인 후, 다음 명령어를 사용하여 Docker 이미지를 Pull합니다.
docker pull ubioncontainerregistry.azurecr.io/setup-veluga-ai-backend:latest
latest: 최신 버전의 이미지를 Pull합니다. 특정 태그가 필요한 경우, 해당 태그로 변경하세요. 예를 들어, 특정 커밋 해시를 사용할 수 있습니다.

3. 환경 변수 파일 준비

아래는 .env.setup 파일의 예시 템플릿입니다.

3.1. .env.setup 파일 예시

ENV=local PORT=8000 # 백엔드 서버 설정 VELUGA_API_SERVER_URL=https://your_api_server_url # MongoDB 설정 MONGO_URL=your_mongo_cluster_url MONGO_LOGDB=your_mongo_logdb_url MONGO_DBNAME=your_mongo_dbname # LLM 모델별 설정 # OpenAI OPENAI_API_KEY=your_openai_api_key # anthropic 설정 ANTHROPIC_API_KEY=your_anthropic_api_key # gcp 설정 GOOGLE_API_KEY=your_google_api_key GOOGLE_CLOUD_PROJECT_ID=your_google_cloud_project_id # sqs or rabbitmq 택 1 (백엔드 서버와 일치해야 함) SET_QUEUE_TYPE=sqs # 큐 이름 설정 # - sqs일 경우 aws에서 먼저 만드신 후 설정 # - rabbitmq일 경우 여기서 바로 이름 설정 DOCUMENT_PROCESSING_QUEUE_NAME=your_document_processing_queue_name # backend 서버에서 만드신 큐 이름과 DOCUMENT_COMPLETE_QUEUE_NAME은 동일해야 합니다. # - backend 서버에서 rabbitmq를 사용 설정 하셨을 경우 RABBITMQ_QUEUE_NAME # - backend 서버에서 sqs를 사용 설정 하셨을 경우 만드신 큐 이름 # - 예시: AWS_SQS_QUEUE_URL=https://sqs.ap-northeast-2.amazonaws.com/123154567/document-complete.fifo # 일 경우 document-complete.fifo DOCUMENT_COMPLETE_QUEUE_NAME=your_document_complete_queue_name # AWS SQS 설정(백엔드 서버와 일치해야 함) # RABBITMQ 사용 시 무시 AWS_ACCESS_KEY_ID=your_aws_access_key_id AWS_SECRET_ACCESS_KEY=your_aws_secret_access_key # RABBITMQ 설정(백엔드 서버와 일치해야 함) # SQS 사용 시 무시 RABBITMQ_HOST=your_rabbitmq_host RABBITMQ_USER=your_rabbitmq_user RABBITMQ_PASSWORD=your_rabbitmq_password # pinecone or milvus 택 1 (Vector DB) SET_SEARCH_DB=pinecone # Milvus 설정 # Pinecone 사용 시 무시 MILVUS_DIMENSION=1024 MILVUS_DB_URI=your_milvus_db_uri MILVUS_DB_TOKEN=your_milvus_db_token MILVUS_DB_NAME=your_milvus_db_name MILVUS_HYBRID_COLLECTION_NAME=your_milvus_hybrid_collection_name MILVUS_QUESTION_COLLECTION_NAME=your_milvus_question_collection_name # Pinecone 및 Pinecone에 생성된 인덱스 설정 # Milvus 사용 시 무시 PINECONE_API_KEY=your_pinecone_api_key PINECONE_ENVIRONMENT=your_pinecone_environment PINECONE_INDEX_NAME=your_pinecone_index_name PINECONE_HYBRID_API_KEY=your_pinecone_hybrid_api_key PINECONE_HYBRID_ENVIRONMENT=your_pinecone_hybrid_environment PINECONE_HYBRID_INDEX_NAME=your_pinecone_hybrid_index_name PINECONE_QUESTION_INDEX_NAME=your_pinecone_question_index_name # Neo4j 설정 NEO4J_URL=your_neo4j_url NEO4J_USER=your_neo4j_user NEO4J_PASSWORD=your_neo4j_password # Reranking VOYAGE_API_KEY=your_voyage_api_key # Embedding DOCUMENT_EMBEDDING_TYPE=openai # Chrome driver CHROME_DRIVER_PATH=app/static/chromedriver/mac/chromedriver CHROME_EXE_PATH=/opt/google/chrome/chrome-linux64/chrome # Partner ADMIN_API_URL=https://admin-api.veluga.app PARTNER_API_KEY=your_veluga_partner_api_key
주의사항:
모든 your_* 항목을 실제 값으로 대체하세요.
DB, API_KEY, Queue 등은 직접 만드시면 됩니다.
.env.setup 파일은 보안상 안전한 위치에 보관하고, 접근 권한을 제한하세요.
PARTNER_API_KEY 는 별도로 전달드린 값을 넣어주세요.
sqs 와 rabbitmq 중 하나를 선택해서 사용하시고, 선택한 큐 정보가 백엔드 서버와 일치해야 합니다.
Vector DB는 milvus와 pinecone 중 하나를 선택해서 만드신 후 사용하세요.

4. Docker 컨테이너 실행

환경 변수 파일을 준비한 후, 다음 명령어를 사용하여 Docker 컨테이너를 실행합니다.
docker run -d -p 8000:8000 --env-file ./path/to/.env.setup ubioncontainerregistry.azurecr.io/setup-veluga-ai-backend:latest

명령어 설명

d: 컨테이너를 백그라운드에서 실행합니다.
p 8000:8000: 호스트의 포트 8000을 컨테이너의 포트 8000에 매핑합니다. 필요에 따라 포트를 변경할 수 있습니다.
-env-file ./path/to/.env.setup: 외부업체가 생성한 .env.setup 파일의 경로를 지정합니다.
예시:
docker run -d -p 8000:8000 --env-file ./.env.setup ubioncontainerregistry.azurecr.io/setup-veluga-ai-backend:latest

5. 컨테이너 상태 확인 및 관리

5.1. 실행 중인 컨테이너 확인

docker ps

5.2. 컨테이너 로그 확인

실행 중인 컨테이너의 로그를 확인하려면 다음 명령어를 사용하세요.
docker logs <컨테이너_ID>

5.3. 컨테이너 중지

컨테이너를 중지하려면 다음 명령어를 사용하세요.
docker stop <컨테이너_ID>

5.4. 컨테이너 제거

컨테이너를 제거하려면 다음 명령어를 사용하세요.
setup-veluga-backend

[Setup Veluga Frontend 컨테이너 설치 가이드]

1. Docker 이미지 Pull 및 실행

1.1. ACR 로그인

Azure Container Registry(ACR)에서 이미지를 Pull하기 위해 인증이 필요합니다. 다음 명령어를 사용하여 ACR에 로그인합니다.
docker login ubioncontainerregistry.azurecr.io -u <ACR_USERNAME> -p <ACR_PASSWORD>
<ACR_USERNAME>: 제공받은 ACR 사용자 이름
<ACR_PASSWORD>: 제공받은 ACR 비밀번호

1.2. Docker 이미지 Pull

아래 명령어를 사용하여 ACR에서 Docker 이미지를 Pull합니다.
docker pull ubioncontainerregistry.azurecr.io/setup-veluga-frontend:latest

2. 환경 변수 파일 생성

도메인과 서버 URL은 별도의 환경 변수 파일에 정의해야 합니다. 이 파일은 Docker 실행 시 컨테이너에 환경 변수를 전달합니다.

2.1. .env.local 파일 예시

VELUGA_URL=https://custom-domain.veluga.app // 도메인 SERVER_URL=https://custom-api.veluga.app // 서버 URL (API 요청 주소)
주의사항:
.env.local 파일은 민감한 정보가 포함될 수 있으므로 안전한 위치에 보관하고 접근 권한을 제한하세요.
이 파일의 이름은 **.env.local*로 지정되어야 하며, 컨테이너 실행 시 해당 파일을 경로와 함께 전달합니다.

3. Docker 컨테이너 실행

아래 명령어를 사용하여 Docker 컨테이너를 실행합니다. .env.local 파일을 전달하여 환경 변수를 적용합니다.
docker run -d -p 3000:3000 --env-file ./.env.local ubioncontainerregistry.azurecr.io/setup-veluga-frontend:latest

명령어 설명

d: 컨테이너를 백그라운드에서 실행합니다.
p 3000:3000: 호스트의 포트 3000컨테이너의 포트 3000에 매핑합니다.
-env-file ./env.local: 외부의 .env.local 파일을 사용하여 환경 변수를 전달합니다.
ubioncontainerregistry.azurecr.io/setup-veluga-frontend:latest: 사용할 Docker 이미지와 태그입니다.

서비스 접근 확인

VelugaFrontend: http://localhost:3000
VelugaBackend (API): http://localhost:8080
VelugaAIBackend (AI): http://localhost:8000