diff options
author | Tekky <98614666+xtekky@users.noreply.github.com> | 2023-12-13 15:27:55 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-12-13 15:27:55 +0100 |
commit | 99127111f525d4ed1469c3547bcb491a8cdf5963 (patch) | |
tree | 10ed7693fe0116fa91ab9c77cbc0aa0951417f75 /docker | |
parent | ~ (diff) | |
parent | Change default port for gui (diff) | |
download | gpt4free-99127111f525d4ed1469c3547bcb491a8cdf5963.tar gpt4free-99127111f525d4ed1469c3547bcb491a8cdf5963.tar.gz gpt4free-99127111f525d4ed1469c3547bcb491a8cdf5963.tar.bz2 gpt4free-99127111f525d4ed1469c3547bcb491a8cdf5963.tar.lz gpt4free-99127111f525d4ed1469c3547bcb491a8cdf5963.tar.xz gpt4free-99127111f525d4ed1469c3547bcb491a8cdf5963.tar.zst gpt4free-99127111f525d4ed1469c3547bcb491a8cdf5963.zip |
Diffstat (limited to 'docker')
-rw-r--r-- | docker/Dockerfile | 34 | ||||
-rwxr-xr-x | docker/supervisor-gui.conf | 12 | ||||
-rwxr-xr-x | docker/supervisor.conf | 13 |
3 files changed, 40 insertions, 19 deletions
diff --git a/docker/Dockerfile b/docker/Dockerfile index 66f7fd3c..d160fcac 100644 --- a/docker/Dockerfile +++ b/docker/Dockerfile @@ -1,13 +1,27 @@ FROM selenium/node-chrome ENV SE_SCREEN_WIDTH 1850 -ENV G4F_LOGIN_URL http://localhost:7900/?autoconnect=1&resize=scale&password=secret ENV PYTHONUNBUFFERED 1 +ENV G4F_DIR /app +ENV G4F_LOGIN_URL http://localhost:7900/?autoconnect=1&resize=scale&password=secret ARG G4F_VERSION ENV G4F_VERSION ${G4F_VERSION} +ARG G4F_USER +ENV G4F_USER ${G4F_USER:-g4f} +ARG G4F_USER_ID +ENV G4F_USER_ID ${G4F_USER_ID:-1000} +ARG G4F_NO_GUI +ENV G4F_NO_GUI ${G4F_NO_GUI} +ENV HOME /home/$G4F_USER USER root +# If docker compose, install git +RUN if [ "$G4F_VERSION" = "" ] ; then \ + apt-get -qqy update && \ + apt-get -qqy install git \ + ; fi + # Python packages RUN apt-get -qqy update \ && apt-get -qqy install \ @@ -22,24 +36,32 @@ RUN rm -rf /var/lib/apt/lists/* /var/cache/apt/* \ # Update entrypoint COPY docker/supervisor.conf /etc/supervisor/conf.d/selenium.conf +COPY docker/supervisor-gui.conf /etc/supervisor/conf.d/gui.conf + +# If no gui +RUN if [ "$G4F_NO_GUI" ] ; then \ + rm /etc/supervisor/conf.d/gui.conf \ + ; fi # Change background image COPY docker/background.png /usr/share/images/fluxbox/ubuntu-light.png # Switch user -USER 1200 +RUN groupadd -g $G4F_USER_ID $G4F_USER +RUN useradd -rm -G sudo -u $G4F_USER_ID -g $G4F_USER_ID $G4F_USER +USER $G4F_USER_ID # Set the working directory in the container. -WORKDIR /app +WORKDIR $G4F_DIR # Copy the project's requirements file into the container. -COPY requirements.txt /app/ +COPY requirements.txt $G4F_DIR # Upgrade pip for the latest features and install the project's Python dependencies. RUN pip install --upgrade pip && pip install -r requirements.txt # Copy the entire package into the container. -COPY g4f /app/g4f +ADD --chown=$G4F_USER g4f $G4F_DIR/ # Expose ports -EXPOSE 80 1337
\ No newline at end of file +EXPOSE 8080 1337
\ No newline at end of file diff --git a/docker/supervisor-gui.conf b/docker/supervisor-gui.conf new file mode 100755 index 00000000..44273c67 --- /dev/null +++ b/docker/supervisor-gui.conf @@ -0,0 +1,12 @@ +[program:g4f-gui] +priority=15 +command=python -m g4f.cli gui +directory=/app +stopasgroup=true +autostart=true +autorestart=true + +;Logs (all Hub activity redirected to stdout so it can be seen through "docker logs" +redirect_stderr=true +stdout_logfile=/dev/stdout +stdout_logfile_maxbytes=0
\ No newline at end of file diff --git a/docker/supervisor.conf b/docker/supervisor.conf index e76f9a6c..f0f01fd1 100755 --- a/docker/supervisor.conf +++ b/docker/supervisor.conf @@ -60,17 +60,4 @@ autorestart=true ;Logs (all Hub activity redirected to stdout so it can be seen through "docker logs" redirect_stderr=true stdout_logfile=/dev/stdout -stdout_logfile_maxbytes=0 - -[program:g4f-gui] -priority=15 -command=python -m g4f.cli gui -directory=/app -stopasgroup=true -autostart=true -autorestart=true - -;Logs (all Hub activity redirected to stdout so it can be seen through "docker logs" -redirect_stderr=true -stdout_logfile=/dev/stdout stdout_logfile_maxbytes=0
\ No newline at end of file |