This commit is contained in:
eric
2026-03-28 14:16:42 -05:00
parent 8053c4cb6d
commit 92ecc14e43
11 changed files with 325 additions and 45 deletions

1
services/neko/.gitignore vendored Normal file
View File

@@ -0,0 +1 @@
data/

View File

@@ -0,0 +1,36 @@
[program:chromium]
environment=HOME="/home/%(ENV_USER)s",USER="%(ENV_USER)s",DISPLAY="%(ENV_DISPLAY)s"
command=/usr/bin/chromium
--window-position=0,0
--display=%(ENV_DISPLAY)s
--user-data-dir=/home/neko/.config/chromium
--password-store=basic
--no-first-run
--start-maximized
--force-dark-mode
--disable-file-system
--disable-gpu
--disable-software-rasterizer
--disable-dev-shm-usage
--disable-background-timer-throttling
--disable-backgrounding-occluded-windows
--disable-renderer-backgrounding
stopsignal=INT
autorestart=true
priority=800
user=%(ENV_USER)s
stdout_logfile=/var/log/neko/chromium.log
stdout_logfile_maxbytes=100MB
stdout_logfile_backups=10
redirect_stderr=true
[program:openbox]
environment=HOME="/home/%(ENV_USER)s",USER="%(ENV_USER)s",DISPLAY="%(ENV_DISPLAY)s"
command=/usr/bin/openbox --config-file /etc/neko/openbox.xml
autorestart=true
priority=300
user=%(ENV_USER)s
stdout_logfile=/var/log/neko/openbox.log
stdout_logfile_maxbytes=100MB
stdout_logfile_backups=10
redirect_stderr=true

View File

@@ -1,15 +1,32 @@
# 可选m1k1o/neko 浏览器桌面ARM64/x86。需在 system-stack.env 设 ENABLE_NEKO=1 并由安装脚本拉起。
# 默认映射宿主机 NEKO_HTTP_PORT默认 9200→ 容器 8080避免与 SRS 8080 冲突。
# 变量由 system-stack.env 或启动前 export勿使用 ${VAR:-default},旧版 docker-compose 会报错)
# WebRTCNEKO_WEBRTC_NAT1TO1 填板子局域网 IP
version: "3.8"
services:
neko:
image: ghcr.io/m1k1o/neko/chromium:latest
container_name: live-neko-chromium
restart: unless-stopped
shm_size: "2gb"
cap_add:
- SYS_ADMIN
environment:
NEKO_PASSWORD: "${NEKO_USER_PASS:-live}"
NEKO_PASSWORD_ADMIN: "${NEKO_ADMIN_PASS:-admin}"
NEKO_BIND: "0.0.0.0:8080"
DISPLAY: ":99.0"
NEKO_DESKTOP_SCREEN: "${NEKO_DESKTOP_SCREEN}"
NEKO_SERVER_BIND: ":8080"
NEKO_PASSWORD: "${NEKO_USER_PASS}"
NEKO_PASSWORD_ADMIN: "${NEKO_ADMIN_PASS}"
NEKO_MEMBER_PROVIDER: "multiuser"
NEKO_MEMBER_MULTIUSER_USER_PASSWORD: "${NEKO_USER_PASS}"
NEKO_MEMBER_MULTIUSER_ADMIN_PASSWORD: "${NEKO_ADMIN_PASS}"
NEKO_WEBRTC_EPR: "${NEKO_WEBRTC_EPR}"
NEKO_WEBRTC_ICELITE: "${NEKO_WEBRTC_ICELITE}"
NEKO_WEBRTC_NAT1TO1: "${NEKO_WEBRTC_NAT1TO1}"
NEKO_PLUGINS_ENABLED: "${NEKO_PLUGINS_ENABLED}"
NEKO_PLUGINS_DIR: "/etc/neko/plugins/"
ports:
- "${NEKO_HTTP_PORT:-9200}:8080"
- "52000-52100:52000-52100/udp"
- "${NEKO_HTTP_PORT}:8080"
- "${NEKO_WEBRTC_UDP_RANGE}:52000-52100/udp"
volumes:
- "${NEKO_PROFILE_HOST_DIR}:/home/neko/.config/chromium"
- "./policies:/etc/chromium/policies/managed:ro"
- "./chromium.conf:/etc/neko/supervisord/chromium.conf:ro"

View File

@@ -0,0 +1,18 @@
{
"ExtensionInstallForcelist": [
"dhdgffkkebhmkfjojejmpbldmpobfkfo;https://clients2.google.com/service/update2/crx"
],
"ExtensionInstallAllowlist": ["*"],
"ExtensionInstallBlocklist": [],
"DownloadRestrictions": 0,
"AllowFileSelectionDialogs": true,
"URLAllowlist": ["file:///home/neko/Downloads/*"],
"DefaultCookiesSetting": 1,
"RestoreOnStartup": 1,
"AutoplayAllowed": true,
"DefaultNotificationsSetting": 3,
"VideoCaptureAllowed": true,
"AudioCaptureAllowed": true,
"DeveloperToolsAvailability": 2,
"DefaultGeolocationSetting": 3
}