2023-07-01 17:28:06 +03:00
|
|
|
##################################################################
|
|
|
|
##################################################################
|
|
|
|
##################################################################
|
|
|
|
# Build stage
|
|
|
|
##################################################################
|
|
|
|
##################################################################
|
|
|
|
##################################################################
|
2023-07-01 17:17:15 +03:00
|
|
|
FROM epicmorg/python:3.10-develop AS build
|
|
|
|
|
2023-07-01 17:57:40 +03:00
|
|
|
ARG FREEGPT_VERSION=1.3.1
|
|
|
|
|
2023-07-01 17:28:06 +03:00
|
|
|
ENV FREEGPT_PATH=/app
|
|
|
|
ENV FREEGPT_PORT=1338
|
|
|
|
ENV FREEGTP_PY_BIN=/root/.local/bin
|
|
|
|
ENV PATH=/root/.local/bin:$PATH
|
2023-07-01 17:17:15 +03:00
|
|
|
|
2023-07-01 17:57:40 +03:00
|
|
|
RUN git clone --depth 1 --branch ${FREEGPT_VERSION} https://github.com/Em1tSan/freegpt-webui-ru.git ${FREEGPT_PATH} && \
|
2023-07-01 17:28:06 +03:00
|
|
|
rm -rfv ${FREEGPT_PATH}/.git
|
2023-07-01 17:17:15 +03:00
|
|
|
|
|
|
|
RUN apt-get update && \
|
2023-07-01 17:28:06 +03:00
|
|
|
apt-get install -y --no-install-recommends \
|
|
|
|
build-essential \
|
|
|
|
libffi-dev cmake \
|
|
|
|
libcurl4-openssl-dev && \
|
2023-07-01 18:08:24 +03:00
|
|
|
pip3 install --user --no-cache-dir -r ${FREEGPT_PATH}/requirements.txt
|
2023-07-01 17:28:06 +03:00
|
|
|
|
|
|
|
##################################################################
|
|
|
|
##################################################################
|
|
|
|
##################################################################
|
|
|
|
# Production stage
|
|
|
|
##################################################################
|
|
|
|
##################################################################
|
|
|
|
##################################################################
|
2023-07-01 17:17:15 +03:00
|
|
|
FROM epicmorg/python:3.10 AS production
|
|
|
|
|
2023-07-01 17:28:06 +03:00
|
|
|
ENV FREEGPT_PATH=/app
|
|
|
|
ENV FREEGPT_PORT=1338
|
|
|
|
ENV FREEGTP_PY_BIN=/root/.local/bin
|
|
|
|
ENV PATH=/root/.local/bin:$PATH
|
|
|
|
|
|
|
|
RUN mkdir -p ${FREEGTP_PY_BIN} ${FREEGPT_PATH}
|
|
|
|
|
|
|
|
##################################################################
|
|
|
|
# Copy bins
|
|
|
|
##################################################################
|
|
|
|
COPY --from=build /root/.local /root/.local
|
2023-07-01 17:17:15 +03:00
|
|
|
COPY --from=build /app /app
|
|
|
|
|
2023-07-01 17:28:06 +03:00
|
|
|
##################################################################
|
|
|
|
# cleaninig up
|
|
|
|
##################################################################
|
|
|
|
RUN apt clean -y && \
|
|
|
|
apt-get clean all && \
|
|
|
|
apt autoclean -y && \
|
|
|
|
rm -rfv /var/lib/apt/lists/* && \
|
|
|
|
rm -rfv /var/cache/apt/archives/*.deb && \
|
|
|
|
rm -rfv /tmp/*
|
|
|
|
|
|
|
|
WORKDIR ${FREEGPT_PATH}
|
|
|
|
EXPOSE ${FREEGPT_PORT}
|
2023-07-01 17:17:15 +03:00
|
|
|
|
|
|
|
CMD ["python3", "./run.py"]
|