mirror of
https://github.com/xtekky/gpt4free.git
synced 2024-12-24 11:34:02 +03:00
Improve docker image
This commit is contained in:
parent
3576dee75a
commit
c667f1cec5
@ -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:
|
||||
|
@ -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
|
||||
|
@ -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
|
76
docker/supervisor.conf
Executable file
76
docker/supervisor.conf
Executable file
@ -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
|
@ -601,7 +601,7 @@ observer.observe(message_input, { attributes: true });
|
||||
|
||||
let auto = document.createElement('option');
|
||||
auto.value = '';
|
||||
auto.text = 'Default Model';
|
||||
auto.text = 'Model: Default';
|
||||
select.appendChild(auto);
|
||||
|
||||
for (model of models) {
|
||||
|
@ -41,7 +41,10 @@ class Backend_Api:
|
||||
return g4f._all_models
|
||||
|
||||
def providers(self):
|
||||
return [provider.__name__ for provider in g4f.Provider.__providers__ if provider.working]
|
||||
return [
|
||||
provider.__name__ for provider in g4f.Provider.__providers__
|
||||
if provider.working and provider is not g4f.Provider.RetryProvider
|
||||
]
|
||||
|
||||
def _gen_title(self):
|
||||
return {
|
||||
|
@ -275,6 +275,8 @@ class ModelUtils:
|
||||
'gpt-3.5-turbo-16k' : gpt_35_turbo_16k,
|
||||
'gpt-3.5-turbo-16k-0613' : gpt_35_turbo_16k_0613,
|
||||
|
||||
'gpt-3.5-long': gpt_35_long,
|
||||
|
||||
# gpt-4
|
||||
'gpt-4' : gpt_4,
|
||||
'gpt-4-0613' : gpt_4_0613,
|
||||
|
Loading…
Reference in New Issue
Block a user