豆包网页端服务转Api服务
This commit is contained in:
1 parent
e7e5c0f83d
commit
b37295d2d5
17 files changed
+1829
-1
No files matched your search
@@ -0,0 +1,24 @@
|
||||
#!/bin/bash
|
||||
set -e
|
||||
|
||||
VNC_PASSWORD="${VNC_PASSWORD:-doubao123}"
|
||||
SCREEN_WIDTH="${SCREEN_WIDTH:-1280}"
|
||||
SCREEN_HEIGHT="${SCREEN_HEIGHT:-720}"
|
||||
SCREEN_DEPTH="${SCREEN_DEPTH:-24}"
|
||||
|
||||
mkdir -p /root/.vnc /app/data
|
||||
x11vnc -storepasswd "$VNC_PASSWORD" /root/.vnc/passwd
|
||||
|
||||
# Always set VNC mode from env var on container startup (overwrites API changes from previous run)
|
||||
echo "${VNC_VIEW_ONLY:-false}" > /app/data/.vnc_mode
|
||||
|
||||
echo "============================================"
|
||||
echo " DouBao2Api Docker Container Starting..."
|
||||
echo "============================================"
|
||||
echo " Screen: ${SCREEN_WIDTH}x${SCREEN_HEIGHT}x${SCREEN_DEPTH}"
|
||||
echo " VNC: localhost:${VNC_PORT:-5900} (password: ${VNC_PASSWORD})"
|
||||
echo " noVNC: http://localhost:${NOVNC_PORT:-6080}/vnc.html"
|
||||
echo " API: http://localhost:${API_PORT:-8000}"
|
||||
echo "============================================"
|
||||
|
||||
exec supervisord -c /app/scripts/supervisord.conf
|
||||
@@ -0,0 +1,7 @@
|
||||
#!/bin/bash
|
||||
if command -v openbox &> /dev/null; then
|
||||
exec openbox
|
||||
else
|
||||
echo "No window manager installed, running without one"
|
||||
sleep infinity
|
||||
fi
|
||||
@@ -0,0 +1,16 @@
|
||||
#!/bin/bash
|
||||
MODE_FILE="/app/data/.vnc_mode"
|
||||
|
||||
if [ ! -f "$MODE_FILE" ]; then
|
||||
echo "${VNC_VIEW_ONLY:-false}" > "$MODE_FILE"
|
||||
fi
|
||||
|
||||
MODE=$(cat "$MODE_FILE" 2>/dev/null || echo "false")
|
||||
|
||||
if [ "$MODE" = "true" ] || [ "$MODE" = "viewonly" ]; then
|
||||
echo "Starting x11vnc in VIEW-ONLY mode (no mouse/keyboard input)"
|
||||
exec x11vnc -display :99 -forever -shared -rfbport "${VNC_PORT:-5900}" -rfbauth /root/.vnc/passwd -noxdamage -cursor arrow -viewonly
|
||||
else
|
||||
echo "Starting x11vnc in INTERACTIVE mode"
|
||||
exec x11vnc -display :99 -forever -shared -rfbport "${VNC_PORT:-5900}" -rfbauth /root/.vnc/passwd -noxdamage -cursor arrow
|
||||
fi
|
||||
@@ -0,0 +1,54 @@
|
||||
[supervisord]
|
||||
nodaemon=true
|
||||
user=root
|
||||
logfile=/app/data/supervisord.log
|
||||
pidfile=/tmp/supervisord.pid
|
||||
|
||||
[unix_http_server]
|
||||
file=/tmp/supervisor.sock
|
||||
chmod=0700
|
||||
|
||||
[rpcinterface:supervisor]
|
||||
supervisor.rpcinterface_factory = supervisor.rpcinterface:make_main_rpcinterface
|
||||
|
||||
[supervisorctl]
|
||||
serverurl=unix:///tmp/supervisor.sock
|
||||
|
||||
[program:xvfb]
|
||||
command=Xvfb :99 -screen 0 %(ENV_SCREEN_WIDTH)sx%(ENV_SCREEN_HEIGHT)sx%(ENV_SCREEN_DEPTH)s
|
||||
priority=10
|
||||
autorestart=true
|
||||
stdout_logfile=/app/data/xvfb.log
|
||||
stderr_logfile=/app/data/xvfb_err.log
|
||||
|
||||
[program:wm]
|
||||
command=/app/scripts/start_wm.sh
|
||||
environment=DISPLAY=":99"
|
||||
priority=20
|
||||
autorestart=true
|
||||
stdout_logfile=/app/data/wm.log
|
||||
stderr_logfile=/app/data/wm_err.log
|
||||
|
||||
[program:x11vnc]
|
||||
command=/app/scripts/start_x11vnc.sh
|
||||
environment=DISPLAY=":99",VNC_PORT="%(ENV_VNC_PORT)s",VNC_VIEW_ONLY="%(ENV_VNC_VIEW_ONLY)s"
|
||||
priority=30
|
||||
autorestart=true
|
||||
stdout_logfile=/app/data/x11vnc.log
|
||||
stderr_logfile=/app/data/x11vnc_err.log
|
||||
|
||||
[program:novnc]
|
||||
command=websockify --web /opt/novnc %(ENV_NOVNC_PORT)s localhost:%(ENV_VNC_PORT)s
|
||||
priority=40
|
||||
autorestart=true
|
||||
stdout_logfile=/app/data/novnc.log
|
||||
stderr_logfile=/app/data/novnc_err.log
|
||||
|
||||
[program:api]
|
||||
command=python3 -m uvicorn app.main:app --host 0.0.0.0 --port %(ENV_API_PORT)s
|
||||
directory=/app
|
||||
environment=DISPLAY=":99",PYTHONUNBUFFERED="1"
|
||||
priority=50
|
||||
autorestart=true
|
||||
stdout_logfile=/app/data/api.log
|
||||
stderr_logfile=/app/data/api_err.log
|
||||
Reference in new issue
Block a user