i18n 修复

Makefile 添加 run-nogpio run-build 便于测试和构建发布
对于 docker 环境的适配
This commit is contained in:
mofeng-git 2024-09-06 17:44:49 +08:00
parent 551e91069d
commit 7bc92c943a
6 changed files with 56 additions and 7 deletions

View File

@ -269,3 +269,46 @@ clean-all: testenv clean
.PHONY: testenv .PHONY: testenv
run-build:
$(DOCKER) buildx build -t registry.cn-hangzhou.aliyuncs.com/silentwind/kvmd:dev \
--allow security.insecure --progress plain \
--platform linux/amd64,linux/arm64,linux/arm/v7 \
-f build/Dockerfile . \
--push
run-nogpio: testenv
- $(DOCKER) run --rm --name kvmd \
--privileged \
--volume `pwd`/testenv/run:/run/kvmd:rw \
--volume `pwd`/testenv:/testenv:ro \
--volume `pwd`/kvmd:/kvmd:ro \
--volume `pwd`/testenv/env.py:/kvmd/env.py:ro \
--volume `pwd`/web:/usr/share/kvmd/web:ro \
--volume `pwd`/extras:/usr/share/kvmd/extras:ro \
--volume `pwd`/configs:/usr/share/kvmd/configs.default:ro \
--volume `pwd`/contrib/keymaps:/usr/share/kvmd/keymaps:ro \
--device $(TESTENV_VIDEO):$(TESTENV_VIDEO) \
$(if $(TESTENV_RELAY),--device $(TESTENV_RELAY):$(TESTENV_RELAY),) \
--publish 8080:8080/tcp \
--publish 4430:4430/tcp \
-it $(TESTENV_IMAGE) /bin/bash -c " \
mkdir -p /tmp/kvmd-nginx \
&& mount -t debugfs none /sys/kernel/debug \
&& (socat PTY,link=$(TESTENV_HID) PTY,link=/dev/ttyS11 &) \
&& cp -r /usr/share/kvmd/configs.default/nginx/* /etc/kvmd/nginx \
&& cp -a /testenv/.ssl/nginx /etc/kvmd/nginx/ssl \
&& cp -a /testenv/.ssl/vnc /etc/kvmd/vnc/ssl \
&& touch /etc/kvmd/.docker_flag \
&& cp /testenv/platform /usr/share/kvmd \
&& cp /usr/share/kvmd/configs.default/kvmd/*.yaml /etc/kvmd \
&& cp /usr/share/kvmd/configs.default/kvmd/*passwd /etc/kvmd \
&& cp /usr/share/kvmd/configs.default/kvmd/*.secret /etc/kvmd \
&& cp /usr/share/kvmd/configs.default/kvmd/main/$(if $(P),$(P),$(DEFAULT_PLATFORM)).yaml /etc/kvmd/main.yaml \
&& ln -s /testenv/web.css /etc/kvmd/web.css \
&& mkdir -p /etc/kvmd/override.d \
&& cp /testenv/$(if $(P),$(P),$(DEFAULT_PLATFORM)).override.yaml /etc/kvmd/override.yaml \
&& python -m kvmd.apps.ngxmkconf /etc/kvmd/nginx/nginx.conf.mako /etc/kvmd/nginx/nginx.conf \
&& nginx -c /etc/kvmd/nginx/nginx.conf -g 'user http; error_log stderr;' \
&& $(if $(CMD),$(CMD),python -m kvmd.apps.kvmd --run) \
"

View File

@ -73,8 +73,8 @@ RUN mkdir -p \
COPY testenv/fakes/vcgencmd /usr/bin/ COPY testenv/fakes/vcgencmd /usr/bin/
COPY extras/ /usr/share/kvmd/extras/ COPY extras/ /usr/share/kvmd/extras/
COPY web/ /usr/share/kvmd/web/ COPY web/ /usr/share/kvmd/web/
COPY testenv/web.css /usr/share/kvmd/web/ COPY testenv/web.css /etc/kvmd/
COPY testenv/platform/ scripts/kvmd-gencert /usr/share/kvmd/ COPY build/platform scripts/kvmd-gencert /usr/share/kvmd/
COPY contrib/keymaps /usr/share/kvmd/keymaps COPY contrib/keymaps /usr/share/kvmd/keymaps
COPY kvmd/ /kvmd COPY kvmd/ /kvmd
COPY configs/kvmd/*.yaml configs/kvmd/*passwd build/supervisord.conf /etc/kvmd/ COPY configs/kvmd/*.yaml configs/kvmd/*passwd build/supervisord.conf /etc/kvmd/
@ -83,7 +83,7 @@ COPY configs/hw_info/* /etc/kvmd/hw_info/
COPY build/v2-hdmiusb-rpi4.override.yaml /etc/kvmd/override.yaml COPY build/v2-hdmiusb-rpi4.override.yaml /etc/kvmd/override.yaml
COPY configs/kvmd/main/v2-hdmiusb-rpi4.yaml /etc/kvmd/main.yaml COPY configs/kvmd/main/v2-hdmiusb-rpi4.yaml /etc/kvmd/main.yaml
RUN touch /run/kvmd/ustreamer.sock \ RUN touch /run/kvmd/ustreamer.sock /etc/kvmd/.docker_flag \
&& touch /etc/kvmd/totp.secret \ && touch /etc/kvmd/totp.secret \
&& /usr/share/kvmd/kvmd-gencert --do-the-thing \ && /usr/share/kvmd/kvmd-gencert --do-the-thing \
&& /usr/share/kvmd/kvmd-gencert --do-the-thing --vnc \ && /usr/share/kvmd/kvmd-gencert --do-the-thing --vnc \

3
build/platform Normal file
View File

@ -0,0 +1,3 @@
PIKVM_MODEL=docker_model
PIKVM_VIDEO=docker_video
PIKVM_BOARD=docker_board

View File

@ -31,6 +31,7 @@ from ....yamlconf.loader import load_yaml_file
from .... import tools from .... import tools
from .... import aiotools from .... import aiotools
from .... import env
from .. import sysunit from .. import sysunit
@ -87,6 +88,8 @@ class ExtrasInfoSubmanager(BaseInfoSubmanager):
(extra["enabled"], extra["started"]) = await sui.get_status(daemon) (extra["enabled"], extra["started"]) = await sui.get_status(daemon)
except Exception as err: except Exception as err:
get_logger(0).error("Can't get info about the service %r: %s", daemon, tools.efmt(err)) get_logger(0).error("Can't get info about the service %r: %s", daemon, tools.efmt(err))
if os.path.exists("/etc/kvmd/.docker_flag"):
extra["enabled"] = extra["started"] = True
def __rewrite_app_port(self, extra: dict) -> None: def __rewrite_app_port(self, extra: dict) -> None:
port_path = extra.get("port", "") port_path = extra.get("port", "")

View File

@ -60,7 +60,7 @@
<tr> <tr>
<td i18n="password">Password:&nbsp;</td> <td i18n="password">Password:&nbsp;</td>
<td> <td>
<input type="current-password" id="passwd-input" autocapitalize="off"> <input type="password" id="passwd-input" autocapitalize="off">
</td> </td>
</tr> </tr>
<tr> <tr>
@ -78,8 +78,8 @@
<td i18n="select_language">Select language:&nbsp;</td> <td i18n="select_language">Select language:&nbsp;</td>
<td> <td>
<select id="selectLanguage"> <select id="selectLanguage">
<option class="chinese" value="ch" selected="selected" i18n="chinese">Simplified Chinese</option> <option id="zh" selected="selected" i18n="chinese">Simplified Chinese</option>
<option class="english" value="en" i18n="english">English</option> <option id="en" i18n="english">English</option>
</select> </select>
</td> </td>
</tr> </tr>

View File

@ -55,7 +55,7 @@ $(document).ready(function() {
defaultLang: selectOptionId, defaultLang: selectOptionId,
filePath: "/share/i18n/" filePath: "/share/i18n/"
}); });
setCookie('userLanguage', "cn") setCookie('userLanguage', selectOptionId)
}); });