Skip to content

The task api server for the LogHub project.

License

Notifications You must be signed in to change notification settings

loghub-me/task-api

Repository files navigation

LogHub - task-api

Bun

GitHub License GitHub Release

Repositories

Repository Description Links
GitHub Repo 웹 애플리케이션
Next.js + TypeScript
- 소개
- 구조
- 개발
- 기여
GitHub Repo API 서버
Spring Boot + Kotlin
- 소개
- 구조
- 개발
- 기여
GitHub Repo 보조 API 서버
Elysia + TypeScript
- 소개
- 구조
- 개발
- 기여
GitHub Repo 마크다운 렌더러 - 소개
- 구조
- 개발
- 기여

소개

이 레포지토리는 LogHub 보조 API 서버의 소스 코드를 포함합니다. Elysia와 TypeScript로 작성되었으며, 언어 종속성이 있는 작업을 처리합니다.

구조

src

  • index.ts : Elysia 애플리케이션의 진입점입니다.
  • modules/ : 애플리케이션의 주요 기능 모듈들을 포함합니다.
    • (domain)/
      • index.ts : 도메인 모듈의 진입점입니다.
      • model.ts : 도메인 모델 정의를 포함합니다.
      • service.ts : 도메인 서비스 로직을 포함합니다.
  • plugins/ : Elysia 플러그인을 포함합니다. (예: 인증)
  • lib/ : 공통 유틸리티 함수들과 헬퍼들을 포함합니다.

개발

개발 환경

  • Bun 1.3

요구 환경 변수

변수명 설명 예시
APP_NAME 애플리케이션 이름 PORT
PORT 서버 포트 8082
CLIENT_HOST 클라이언트 호스트 http://localhost:8080
INTERNAL_TOKEN 내부 통신 토큰 your-internal-token
S3_BUCKET S3 버킷 이름 your-s3-bucket
S3_REGION S3 리전 your-s3-region or auto
S3_ENDPOINT S3 엔드포인트 your-s3-endpoint
S3_ACCESS_KEY_ID S3 액세스 키 ID your-s3-access-key-id
S3_SECRET_ACCESS_KEY S3 비밀 액세스 키 your-s3-secret-access-key
OPENAI_API_KEY OpenAI API Key your_openai_api_key

설치 및 실행

$ bun install --frozen-lockfile

# 개발 서버 시작
$ bun dev

# 컴파일 (단일 실행 파일 생성)
$ bun build:compile
$ ./server

도커 이미지 빌드 및 실행

빌드

$ docker build -t loghub-me/task-api:<version> .

실행

Warning

.env.task-api 파일을 작성하여 환경 변수를 설정해야 합니다.

# docker-compose.yml
services:
  loghub-me-task-api:
    container_name: loghub-me-task-api
    image: loghub-me/task-api:<version>
    ports:
      - '8082:8080/tcp'
    env_file: .env.task-api
$ docker-compose up -d

기여

기여는 언제나 환영합니다! 버그 리포트, 기능 제안, PR 등 다양한 방법으로 기여할 수 있습니다. 자세한 내용은 CONTRIBUTING.md를 참고해주세요.