summaryrefslogtreecommitdiffstats
path: root/docker/Dockerfile
diff options
context:
space:
mode:
authorHeiner Lohaus <hlohaus@users.noreply.github.com>2024-01-01 23:20:48 +0100
committerHeiner Lohaus <hlohaus@users.noreply.github.com>2024-01-01 23:20:48 +0100
commite0aaad8f477386345a14c9adc7a7721fda115faa (patch)
treeac88be0b5d29f7e09d43ba581488750067037bfb /docker/Dockerfile
parentAdd support for all models (diff)
downloadgpt4free-e0aaad8f477386345a14c9adc7a7721fda115faa.tar
gpt4free-e0aaad8f477386345a14c9adc7a7721fda115faa.tar.gz
gpt4free-e0aaad8f477386345a14c9adc7a7721fda115faa.tar.bz2
gpt4free-e0aaad8f477386345a14c9adc7a7721fda115faa.tar.lz
gpt4free-e0aaad8f477386345a14c9adc7a7721fda115faa.tar.xz
gpt4free-e0aaad8f477386345a14c9adc7a7721fda115faa.tar.zst
gpt4free-e0aaad8f477386345a14c9adc7a7721fda115faa.zip
Diffstat (limited to 'docker/Dockerfile')
-rw-r--r--docker/Dockerfile35
1 files changed, 24 insertions, 11 deletions
diff --git a/docker/Dockerfile b/docker/Dockerfile
index a0cd7e2b..88e21b18 100644
--- a/docker/Dockerfile
+++ b/docker/Dockerfile
@@ -1,18 +1,22 @@
FROM selenium/node-chrome
-ENV SE_SCREEN_WIDTH 1850
-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_USER=g4f
+ARG G4F_USER_ID=1000
ARG G4F_NO_GUI
+ARG G4F_PASS=secret
+
+ENV G4F_VERSION $G4F_VERSION
+ENV G4F_USER $G4F_USER
+ENV G4F_USER_ID $G4F_USER_ID
ENV G4F_NO_GUI $G4F_NO_GUI
+
+ENV SE_SCREEN_WIDTH 1850
+ENV PYTHONUNBUFFERED 1
+ENV G4F_DIR /app
+ENV G4F_LOGIN_URL http://localhost:7900/?autoconnect=1&resize=scale&password=$G4F_PASS
ENV HOME /home/$G4F_USER
+ENV PATH $PATH:$HOME/.local/bin
ENV SE_DOWNLOAD_DIR $HOME/Downloads
ENV SEL_USER $G4F_USER
ENV SEL_UID $G4F_USER_ID
@@ -33,6 +37,9 @@ RUN apt-get -qqy update \
python-is-python3 \
pip
+# Remove java
+RUN apt-get -qyy remove openjdk-11-jre-headless
+
# Cleanup
RUN rm -rf /var/lib/apt/lists/* /var/cache/apt/* \
&& apt-get -qyy autoremove \
@@ -51,16 +58,22 @@ RUN if [ "$G4F_NO_GUI" ] ; then \
COPY docker/background.png /usr/share/images/fluxbox/ubuntu-light.png
# Add user
-RUN groupadd -g $G4F_USER_ID $G4F_USER
-RUN useradd -rm -G sudo -u $G4F_USER_ID -g $G4F_USER_ID $G4F_USER
+RUN groupadd -g $G4F_USER_ID $G4F_USER \
+ && useradd -rm -G sudo -u $G4F_USER_ID -g $G4F_USER_ID $G4F_USER \
+ && echo "${G4F_USER}:${G4F_PASS}" | chpasswd
# Fix permissions
RUN mkdir "${SE_DOWNLOAD_DIR}"
RUN chown "${G4F_USER_ID}:${G4F_USER_ID}" $SE_DOWNLOAD_DIR /var/run/supervisor /var/log/supervisor
+RUN chown "${G4F_USER_ID}:${G4F_USER_ID}" -R /opt/bin/ /usr/bin/chromedriver /opt/selenium/
# Switch user
USER $G4F_USER_ID
+# Set VNC password
+RUN mkdir -p ${HOME}/.vnc \
+ && x11vnc -storepasswd ${G4F_PASS} ${HOME}/.vnc/passwd
+
# Set the working directory in the container.
WORKDIR $G4F_DIR