mirror of
https://github.com/xtekky/gpt4free.git
synced 2025-12-15 14:51:19 -08:00
- Updated `Dockerfile` to install `ffmpeg` and `flac` along with existing packages. - Updated `Dockerfile-slim` to install `ffmpeg` and `flac` along with existing packages. - Modified `any_provider.py` to change how providers are handled when a model is specified, allowing for a submodel to be extracted and checked against the provider's attributes. - Adjusted `retry_provider.py` to ensure the alias for the model is correctly set based on the provider's model aliases, improving clarity in debug logging.
55 lines
1.5 KiB
Docker
55 lines
1.5 KiB
Docker
FROM selenium/node-chrome
|
|
|
|
ARG G4F_VERSION
|
|
ENV G4F_VERSION $G4F_VERSION
|
|
|
|
ENV SE_SCREEN_WIDTH 1850
|
|
ENV G4F_DIR /app
|
|
ENV G4F_LOGIN_URL http://localhost:7900/?autoconnect=1&resize=scale&password=secret
|
|
|
|
USER root
|
|
|
|
# If docker compose, install git
|
|
RUN if [ "$G4F_VERSION" = "" ] ; then \
|
|
apt-get -qqy update && \
|
|
apt-get -qqy install git \
|
|
; fi
|
|
|
|
# Install Python3, pip, remove OpenJDK 11, clean up
|
|
RUN apt-get -qqy update \
|
|
&& apt-get -qqy upgrade \
|
|
&& apt-get -qyy autoremove \
|
|
&& apt-get -qqy install python3 python-is-python3 pip ffmpeg flac \
|
|
&& apt-get -qyy remove openjdk-11-jre-headless \
|
|
&& apt-get -qyy autoremove \
|
|
&& apt-get -qyy clean \
|
|
&& rm -rf /var/lib/apt/lists/* /var/cache/apt/*
|
|
|
|
# Update entrypoint
|
|
COPY docker/supervisor.conf /etc/supervisor/conf.d/selenium.conf
|
|
COPY docker/supervisor-api.conf /etc/supervisor/conf.d/api.conf
|
|
|
|
# Change background image
|
|
COPY docker/background.png /usr/share/images/fluxbox/ubuntu-light.png
|
|
|
|
# Add user, fix permissions
|
|
RUN chown "${SEL_UID}:${SEL_GID}" $HOME/.local /opt/venv/share
|
|
|
|
# Switch user
|
|
USER $SEL_UID
|
|
|
|
# Set the working directory in the container.
|
|
WORKDIR $G4F_DIR
|
|
|
|
# Copy the project's requirements file into the container.
|
|
COPY requirements.txt $G4F_DIR
|
|
|
|
# Upgrade pip for the latest features and install the project's Python dependencies.
|
|
RUN pip install --break-system-packages --upgrade pip \
|
|
&& pip install --break-system-packages -r requirements.txt
|
|
|
|
# Copy the entire package into the container.
|
|
ADD --chown=$SEL_UID:$SEL_GID g4f $G4F_DIR/g4f
|
|
|
|
# Expose ports
|
|
EXPOSE 8080 7900
|