summaryrefslogtreecommitdiffstats
path: root/docker
diff options
context:
space:
mode:
Diffstat (limited to 'docker')
-rw-r--r--docker/Dockerfile3
-rwxr-xr-xdocker/start-selenium-node.sh17
-rwxr-xr-xdocker/supervisor.conf76
3 files changed, 78 insertions, 18 deletions
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