mirror of
https://github.com/langchain-ai/opengpts.git
synced 2026-07-01 18:23:41 -04:00
49 lines
1.2 KiB
Docker
49 lines
1.2 KiB
Docker
FROM node:20 AS builder
|
|
|
|
WORKDIR /frontend
|
|
|
|
COPY ./frontend/package.json ./frontend/yarn.lock ./
|
|
|
|
RUN yarn --network-timeout 600000 --frozen-lockfile
|
|
|
|
COPY ./frontend ./
|
|
|
|
RUN rm -rf .env
|
|
|
|
RUN yarn build
|
|
|
|
# Backend Dockerfile
|
|
FROM python:3.11
|
|
|
|
ARG TARGETOS
|
|
ARG TARGETARCH
|
|
ARG TARGETVARIANT
|
|
|
|
# Install system dependencies
|
|
RUN apt-get update && rm -rf /var/lib/apt/lists/*
|
|
RUN wget -O golang-migrate.deb https://github.com/golang-migrate/migrate/releases/download/v4.17.0/migrate.${TARGETOS}-${TARGETARCH}${TARGETVARIANT}.deb \
|
|
&& dpkg -i golang-migrate.deb \
|
|
&& rm golang-migrate.deb
|
|
|
|
# Install Poetry
|
|
RUN pip install poetry
|
|
|
|
# Set the working directory
|
|
WORKDIR /backend
|
|
|
|
# Copy only dependencies
|
|
COPY ./backend/pyproject.toml ./backend/poetry.lock* ./
|
|
|
|
# Install dependencies
|
|
# --only main: Skip installing packages listed in the [tool.poetry.dev-dependencies] section
|
|
RUN poetry config virtualenvs.create false \
|
|
&& poetry install --no-interaction --no-ansi --only main
|
|
|
|
# Copy the rest of backend
|
|
COPY ./backend .
|
|
|
|
# Copy the frontend build
|
|
COPY --from=builder /frontend/dist ./ui
|
|
|
|
ENTRYPOINT [ "uvicorn", "app.server:app", "--host", "0.0.0.0", "--log-config", "log_config.json" ]
|