From b2d02ed624f9354214228c3f4d5dcb1a74d792b3 Mon Sep 17 00:00:00 2001 From: Heiner Lohaus Date: Mon, 11 Dec 2023 02:50:33 +0100 Subject: Change default port for gui Change default host for api Disable gui in build Add custom docker user --- docker/Dockerfile | 34 ++++++++++++++++++++++++++++------ docker/supervisor-gui.conf | 12 ++++++++++++ docker/supervisor.conf | 13 ------------- 3 files changed, 40 insertions(+), 19 deletions(-) create mode 100755 docker/supervisor-gui.conf (limited to 'docker') 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 @@ -57,19 +57,6 @@ 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 - -[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 -- cgit v1.2.3