diff options
author | Heiner Lohaus <hlohaus@users.noreply.github.com> | 2023-12-06 09:35:36 +0100 |
---|---|---|
committer | Heiner Lohaus <hlohaus@users.noreply.github.com> | 2023-12-06 09:35:36 +0100 |
commit | 3576dee75a1623aa2385b6afe8b922ad5affca26 (patch) | |
tree | f54f68590875e4e67adaab03139f18167ffc7fa1 /docker | |
parent | Add get_session_from_browser as cloudflare bypass (diff) | |
download | gpt4free-3576dee75a1623aa2385b6afe8b922ad5affca26.tar gpt4free-3576dee75a1623aa2385b6afe8b922ad5affca26.tar.gz gpt4free-3576dee75a1623aa2385b6afe8b922ad5affca26.tar.bz2 gpt4free-3576dee75a1623aa2385b6afe8b922ad5affca26.tar.lz gpt4free-3576dee75a1623aa2385b6afe8b922ad5affca26.tar.xz gpt4free-3576dee75a1623aa2385b6afe8b922ad5affca26.tar.zst gpt4free-3576dee75a1623aa2385b6afe8b922ad5affca26.zip |
Diffstat (limited to '')
-rw-r--r-- | docker-compose.yml | 15 | ||||
-rw-r--r-- | docker/Dockerfile | 42 | ||||
-rwxr-xr-x | docker/start-selenium-node.sh | 17 |
3 files changed, 66 insertions, 8 deletions
diff --git a/docker-compose.yml b/docker-compose.yml index 43aa6c02..89b11f06 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -1,18 +1,17 @@ version: '3' services: - gpt4free-api: &gpt4free + gpt4free: image: gpt4free:latest + shm_size: 2gb build: context: . - dockerfile: Dockerfile + dockerfile: docker/Dockerfile cache_from: - gpt4free:latest - ports: - - '1337:1337' - command: api - gpt4free-gui: - <<: *gpt4free + volumes: + - .:/app ports: - '8080:80' - command: gui + - '1337:1337' + - '7900:7900'
\ No newline at end of file diff --git a/docker/Dockerfile b/docker/Dockerfile new file mode 100644 index 00000000..354f66d1 --- /dev/null +++ b/docker/Dockerfile @@ -0,0 +1,42 @@ +FROM selenium/node-chrome + +ENV SE_SCREEN_WIDTH 1920 +ENV G4F_LOGIN_URL http://localhost:7900/?autoconnect=1&resize=scale&password=secret + +USER root + +# Python packages +RUN apt-get -qqy update \ + && apt-get -qqy install \ + python3 \ + python-is-python3 \ + pip + +# Cleanup +RUN rm -rf /var/lib/apt/lists/* /var/cache/apt/* \ + && apt-get -qyy autoremove \ + && apt-get -qyy clean + +# Update entrypoint +COPY docker/start-selenium-node.sh /opt/bin/ + +# Change background image +COPY g4f.png /usr/share/images/fluxbox/ubuntu-light.png + +# Switch user +USER 1200 + +# Set the working directory in the container. +WORKDIR /app + +# Copy the project's requirements file into the container. +COPY requirements.txt /app/ + +# 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 + +# Expose ports +EXPOSE 80 1337
\ No newline at end of file diff --git a/docker/start-selenium-node.sh b/docker/start-selenium-node.sh new file mode 100755 index 00000000..a02d0e82 --- /dev/null +++ b/docker/start-selenium-node.sh @@ -0,0 +1,17 @@ +#!/bin/bash + +# Start the pulseaudio server +pulseaudio -D --exit-idle-time=-1 + +# Load the virtual sink and set it as default +pacmd load-module module-virtual-sink sink_name=v1 +pacmd set-default-sink v1 + +# Set the monitor of v1 sink to be the default source +pacmd set-default-source v1.monitor + +rm -f /tmp/.X*lock + +# Start app servers +python -m g4f.cli api & +python -m g4f.cli gui
\ No newline at end of file |