Skip to content

Commit 73be0fd

Browse files
authored
Merge pull request #81 from #47
chore: Docker Image 설정 및 docker-compose 설정
2 parents c78fccb + b3e7407 commit 73be0fd

File tree

2 files changed

+60
-0
lines changed

2 files changed

+60
-0
lines changed

Dockerfile

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
# Python 3.10 slim 이미지 기반
2+
FROM python:3.12-slim
3+
4+
# 시스템 라이브러리 설치
5+
RUN apt-get update && apt-get install -y \
6+
build-essential \
7+
curl \
8+
software-properties-common \
9+
git \
10+
libpq-dev \
11+
&& rm -rf /var/lib/apt/lists/*
12+
13+
# 작업 디렉토리 설정
14+
WORKDIR /app
15+
16+
# 의존성 파일 복사 및 설치
17+
COPY requirements.txt .
18+
RUN pip install --no-cache-dir -r requirements.txt
19+
20+
# 전체 서비스 코드 복사
21+
COPY . .
22+
23+
# Python 환경 설정
24+
ENV PYTHONPATH=/app
25+
ENV PYTHONUNBUFFERED=1
26+
27+
# Streamlit 포트 노출
28+
EXPOSE 8501
29+
30+
# Streamlit 실행 명령
31+
CMD ["python", "-c", "from llm_utils.tools import set_gms_server; import os; set_gms_server(os.getenv('DATAHUB_SERVER', 'http://localhost:8080'))"]
32+
CMD ["streamlit", "run", "./interface/streamlit_app.py", "--server.port=8501"]

docker-compose.yml

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
services:
2+
streamlit:
3+
build: .
4+
ports:
5+
- "8501:8501"
6+
volumes:
7+
- .:/app
8+
env_file:
9+
- .env
10+
environment:
11+
- DATABASE_URL=postgresql://postgres:password@db:5432/streamlit_db
12+
depends_on:
13+
- db
14+
15+
db:
16+
image: pgvector/pgvector:pg17
17+
container_name: pgvector-db
18+
environment:
19+
POSTGRES_USER: postgres
20+
POSTGRES_PASSWORD: password
21+
POSTGRES_DB: streamlit_db
22+
ports:
23+
- "5432:5432"
24+
volumes:
25+
- pgdata:/var/lib/postgresql/data
26+
- ./postgres/schema.sql:/docker-entrypoint-initdb.d/schema.sql
27+
volumes:
28+
pgdata:

0 commit comments

Comments
 (0)