summaryrefslogtreecommitdiffstats
path: root/docker
diff options
context:
space:
mode:
authorHeiner Lohaus <hlohaus@users.noreply.github.com>2023-12-06 11:54:50 +0100
committerHeiner Lohaus <hlohaus@users.noreply.github.com>2023-12-06 11:54:50 +0100
commitc667f1cec521534781de51e316d5edeed89bdb89 (patch)
tree766b0de6fe8d9bda0dfc9f7fed5b452f3717b504 /docker
parentAdd selenium to dockerfile (diff)
downloadgpt4free-c667f1cec521534781de51e316d5edeed89bdb89.tar
gpt4free-c667f1cec521534781de51e316d5edeed89bdb89.tar.gz
gpt4free-c667f1cec521534781de51e316d5edeed89bdb89.tar.bz2
gpt4free-c667f1cec521534781de51e316d5edeed89bdb89.tar.lz
gpt4free-c667f1cec521534781de51e316d5edeed89bdb89.tar.xz
gpt4free-c667f1cec521534781de51e316d5edeed89bdb89.tar.zst
gpt4free-c667f1cec521534781de51e316d5edeed89bdb89.zip
Diffstat (limited to '')
-rw-r--r--docker-compose.yml4
-rw-r--r--docker/Dockerfile3
-rwxr-xr-xdocker/start-selenium-node.sh17
-rwxr-xr-xdocker/supervisor.conf76
4 files changed, 79 insertions, 21 deletions
diff --git a/docker-compose.yml b/docker-compose.yml
index 89b11f06..8dfe1f35 100644
--- a/docker-compose.yml
+++ b/docker-compose.yml
@@ -2,13 +2,11 @@ version: '3'
services:
gpt4free:
- image: gpt4free:latest
+ image: ghcr.io/xtekky/gpt4free:latest
shm_size: 2gb
build:
context: .
dockerfile: docker/Dockerfile
- cache_from:
- - gpt4free:latest
volumes:
- .:/app
ports:
diff --git a/docker/Dockerfile b/docker/Dockerfile
index 354f66d1..0c52940d 100644
--- a/docker/Dockerfile
+++ b/docker/Dockerfile
@@ -2,6 +2,7 @@ FROM selenium/node-chrome
ENV SE_SCREEN_WIDTH 1920
ENV G4F_LOGIN_URL http://localhost:7900/?autoconnect=1&resize=scale&password=secret
+ENV PYTHONUNBUFFERED 1
USER root
@@ -18,7 +19,7 @@ RUN rm -rf /var/lib/apt/lists/* /var/cache/apt/* \
&& apt-get -qyy clean
# Update entrypoint
-COPY docker/start-selenium-node.sh /opt/bin/
+COPY docker/supervisor.conf /etc/supervisor/conf.d/selenium.conf
# Change background image
COPY g4f.png /usr/share/images/fluxbox/ubuntu-light.png
diff --git a/docker/start-selenium-node.sh b/docker/start-selenium-node.sh
deleted file mode 100755
index a02d0e82..00000000
--- a/docker/start-selenium-node.sh
+++ /dev/null
@@ -1,17 +0,0 @@
-#!/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
diff --git a/docker/supervisor.conf b/docker/supervisor.conf
new file mode 100755
index 00000000..6d82f6c9
--- /dev/null
+++ b/docker/supervisor.conf
@@ -0,0 +1,76 @@
+[program:xvfb]
+priority=0
+command=/opt/bin/start-xvfb.sh
+autostart=true
+autorestart=true
+
+;Logs
+redirect_stderr=false
+stdout_logfile=/var/log/supervisor/xvfb-stdout.log
+stderr_logfile=/var/log/supervisor/xvfb-stderr.log
+stdout_logfile_maxbytes=50MB
+stderr_logfile_maxbytes=50MB
+stdout_logfile_backups=5
+stderr_logfile_backups=5
+stdout_capture_maxbytes=50MB
+stderr_capture_maxbytes=50MB
+
+[program:vnc]
+priority=5
+command=/opt/bin/start-vnc.sh
+autostart=true
+autorestart=true
+
+;Logs
+redirect_stderr=false
+stdout_logfile=/var/log/supervisor/vnc-stdout.log
+stderr_logfile=/var/log/supervisor/vnc-stderr.log
+stdout_logfile_maxbytes=50MB
+stderr_logfile_maxbytes=50MB
+stdout_logfile_backups=5
+stderr_logfile_backups=5
+stdout_capture_maxbytes=50MB
+stderr_capture_maxbytes=50MB
+
+[program:novnc]
+priority=10
+command=/opt/bin/start-novnc.sh
+autostart=true
+autorestart=true
+
+;Logs
+redirect_stderr=false
+stdout_logfile=/var/log/supervisor/novnc-stdout.log
+stderr_logfile=/var/log/supervisor/novnc-stderr.log
+stdout_logfile_maxbytes=50MB
+stderr_logfile_maxbytes=50MB
+stdout_logfile_backups=5
+stderr_logfile_backups=5
+stdout_capture_maxbytes=50MB
+stderr_capture_maxbytes=50MB
+
+[program:g4f-cli]
+priority=15
+command=python -m g4f.cli api
+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
+
+[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