mirror of
https://github.com/mofeng-git/One-KVM.git
synced 2025-12-14 02:00:32 +08:00
using unix sockets
This commit is contained in:
parent
a972e35f7a
commit
def5346b4b
2
.gitignore
vendored
2
.gitignore
vendored
@ -7,6 +7,8 @@
|
|||||||
/testenv/.tox/
|
/testenv/.tox/
|
||||||
/testenv/.mypy_cache/
|
/testenv/.mypy_cache/
|
||||||
/testenv/.coverage
|
/testenv/.coverage
|
||||||
|
/testenv/run/*.sock
|
||||||
|
/testenv/run/*.pid
|
||||||
/v*.tar.gz
|
/v*.tar.gz
|
||||||
/*.pkg.tar.xz
|
/*.pkg.tar.xz
|
||||||
/*.egg-info
|
/*.egg-info
|
||||||
|
|||||||
13
Makefile
13
Makefile
@ -50,6 +50,7 @@ tox: testenv
|
|||||||
run: testenv
|
run: testenv
|
||||||
sudo modprobe loop
|
sudo modprobe loop
|
||||||
- docker run --rm --name kvmd \
|
- docker run --rm --name kvmd \
|
||||||
|
--volume `pwd`/testenv/run:/run:rw \
|
||||||
--volume `pwd`/testenv:/testenv:ro \
|
--volume `pwd`/testenv:/testenv:ro \
|
||||||
--volume `pwd`/kvmd:/kvmd:ro \
|
--volume `pwd`/kvmd:/kvmd:ro \
|
||||||
--volume `pwd`/web:/usr/share/kvmd/web:ro \
|
--volume `pwd`/web:/usr/share/kvmd/web:ro \
|
||||||
@ -58,8 +59,6 @@ run: testenv
|
|||||||
--device $(TESTENV_LOOP):/dev/kvmd-msd \
|
--device $(TESTENV_LOOP):/dev/kvmd-msd \
|
||||||
--device $(TESTENV_VIDEO):$(TESTENV_VIDEO) \
|
--device $(TESTENV_VIDEO):$(TESTENV_VIDEO) \
|
||||||
--publish 8080:80/tcp \
|
--publish 8080:80/tcp \
|
||||||
--publish 8081:8081/tcp \
|
|
||||||
--publish 8082:8082/tcp \
|
|
||||||
-it $(TESTENV_IMAGE) /bin/bash -c " \
|
-it $(TESTENV_IMAGE) /bin/bash -c " \
|
||||||
(socat PTY,link=$(TESTENV_HID) PTY,link=/dev/ttyS11 &) \
|
(socat PTY,link=$(TESTENV_HID) PTY,link=/dev/ttyS11 &) \
|
||||||
&& cp -r /usr/share/kvmd/configs.default/nginx/* /etc/kvmd/nginx \
|
&& cp -r /usr/share/kvmd/configs.default/nginx/* /etc/kvmd/nginx \
|
||||||
@ -76,7 +75,8 @@ run: testenv
|
|||||||
|
|
||||||
|
|
||||||
run-ipmi: testenv
|
run-ipmi: testenv
|
||||||
- docker run --rm --name kvmd-ipmi --link kvmd:kvmd \
|
- docker run --rm --name kvmd-ipmi \
|
||||||
|
--volume `pwd`/testenv/run:/run:rw \
|
||||||
--volume `pwd`/testenv:/testenv:ro \
|
--volume `pwd`/testenv:/testenv:ro \
|
||||||
--volume `pwd`/kvmd:/kvmd:ro \
|
--volume `pwd`/kvmd:/kvmd:ro \
|
||||||
--volume `pwd`/configs:/usr/share/kvmd/configs.default:ro \
|
--volume `pwd`/configs:/usr/share/kvmd/configs.default:ro \
|
||||||
@ -117,8 +117,8 @@ push:
|
|||||||
|
|
||||||
|
|
||||||
clean:
|
clean:
|
||||||
rm -rf build site dist pkg src v*.tar.gz *.pkg.tar.xz *.egg-info kvmd-*.tar.gz
|
rm -rf testenv/run/*.{pid,sock} build site dist pkg src v*.tar.gz *.pkg.tar.xz *.egg-info kvmd-*.tar.gz
|
||||||
find kvmd tests -name __pycache__ | xargs rm -rf
|
find kvmd testenv/tests -name __pycache__ | xargs rm -rf
|
||||||
make -C hid clean
|
make -C hid clean
|
||||||
|
|
||||||
|
|
||||||
@ -126,3 +126,6 @@ clean-all: testenv clean
|
|||||||
- docker run --rm \
|
- docker run --rm \
|
||||||
--volume `pwd`:/src \
|
--volume `pwd`:/src \
|
||||||
-it $(TESTENV_IMAGE) bash -c "cd src && rm -rf testenv/{.tox,.mypy_cache,.coverage}"
|
-it $(TESTENV_IMAGE) bash -c "cd src && rm -rf testenv/{.tox,.mypy_cache,.coverage}"
|
||||||
|
|
||||||
|
|
||||||
|
.PHONY: testenv
|
||||||
|
|||||||
@ -5,8 +5,9 @@ logging: !include logging.yaml
|
|||||||
|
|
||||||
kvmd:
|
kvmd:
|
||||||
server:
|
server:
|
||||||
host: 127.0.0.1
|
unix: /run/kvmd.sock
|
||||||
port: 8081
|
unix_rm: true
|
||||||
|
unix_mode: 0660
|
||||||
|
|
||||||
auth: !include auth.yaml
|
auth: !include auth.yaml
|
||||||
|
|
||||||
@ -26,8 +27,7 @@ kvmd:
|
|||||||
device: /dev/kvmd-msd
|
device: /dev/kvmd-msd
|
||||||
|
|
||||||
streamer:
|
streamer:
|
||||||
host: 127.0.0.1
|
unix: /run/ustreamer.sock
|
||||||
port: 8082
|
|
||||||
cmd:
|
cmd:
|
||||||
- "/usr/bin/ustreamer"
|
- "/usr/bin/ustreamer"
|
||||||
- "--device=/dev/kvmd-video"
|
- "--device=/dev/kvmd-video"
|
||||||
@ -38,11 +38,11 @@ kvmd:
|
|||||||
- "--workers=3"
|
- "--workers=3"
|
||||||
- "--quality={quality}"
|
- "--quality={quality}"
|
||||||
- "--desired-fps={desired_fps}"
|
- "--desired-fps={desired_fps}"
|
||||||
- "--host={host}"
|
|
||||||
- "--port={port}"
|
|
||||||
- "--drop-same-frames=30"
|
- "--drop-same-frames=30"
|
||||||
|
- "--unix={unix}"
|
||||||
|
- "--unix-rm"
|
||||||
|
- "--unix-mode=0660"
|
||||||
|
|
||||||
ipmi:
|
ipmi:
|
||||||
kvmd:
|
kvmd:
|
||||||
host: 127.0.0.1
|
unix: /run/kvmd.sock
|
||||||
port: 8081
|
|
||||||
|
|||||||
@ -5,8 +5,9 @@ logging: !include logging.yaml
|
|||||||
|
|
||||||
kvmd:
|
kvmd:
|
||||||
server:
|
server:
|
||||||
host: 127.0.0.1
|
unix: /run/kvmd.sock
|
||||||
port: 8081
|
unix_rm: true
|
||||||
|
unix_mode: 0660
|
||||||
|
|
||||||
auth: !include auth.yaml
|
auth: !include auth.yaml
|
||||||
|
|
||||||
@ -29,8 +30,7 @@ kvmd:
|
|||||||
cap_pin: 17
|
cap_pin: 17
|
||||||
conv_pin: 18
|
conv_pin: 18
|
||||||
init_restart_after: 1
|
init_restart_after: 1
|
||||||
host: 127.0.0.1
|
unix: /run/ustreamer.sock
|
||||||
port: 8082
|
|
||||||
cmd:
|
cmd:
|
||||||
- "/usr/bin/ustreamer"
|
- "/usr/bin/ustreamer"
|
||||||
- "--device=/dev/kvmd-video"
|
- "--device=/dev/kvmd-video"
|
||||||
@ -43,10 +43,10 @@ kvmd:
|
|||||||
- "--height=576"
|
- "--height=576"
|
||||||
- "--fake-width=800"
|
- "--fake-width=800"
|
||||||
- "--fake-height=600"
|
- "--fake-height=600"
|
||||||
- "--host={host}"
|
- "--unix={unix}"
|
||||||
- "--port={port}"
|
- "--unix-rm"
|
||||||
|
- "--unix-mode=0660"
|
||||||
|
|
||||||
ipmi:
|
ipmi:
|
||||||
kvmd:
|
kvmd:
|
||||||
listen: 127.0.0.1
|
unix: /run/kvmd.sock
|
||||||
port: 8081
|
|
||||||
|
|||||||
@ -1,4 +1,4 @@
|
|||||||
user http;
|
user kvmd-nginx;
|
||||||
worker_processes 4;
|
worker_processes 4;
|
||||||
|
|
||||||
# error_log /tmp/kvmd-nginx.error.log;
|
# error_log /tmp/kvmd-nginx.error.log;
|
||||||
@ -35,11 +35,11 @@ http {
|
|||||||
uwsgi_temp_path /tmp/kvmd-nginx.uwsgi_temp;
|
uwsgi_temp_path /tmp/kvmd-nginx.uwsgi_temp;
|
||||||
|
|
||||||
upstream kvmd {
|
upstream kvmd {
|
||||||
server 127.0.0.1:8081 fail_timeout=0s max_fails=0;
|
server unix:/run/kvmd.sock fail_timeout=0s max_fails=0;
|
||||||
}
|
}
|
||||||
|
|
||||||
upstream ustreamer {
|
upstream ustreamer {
|
||||||
server 127.0.0.1:8082 fail_timeout=0s max_fails=0;
|
server unix:/run/ustreamer.sock fail_timeout=0s max_fails=0;
|
||||||
}
|
}
|
||||||
|
|
||||||
include /usr/share/kvmd/extras/*/nginx.ctx-http.conf;
|
include /usr/share/kvmd/extras/*/nginx.ctx-http.conf;
|
||||||
|
|||||||
@ -6,14 +6,16 @@ post_install() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
post_upgrade() {
|
post_upgrade() {
|
||||||
echo "==> Configuring KVMD user and groups ..."
|
echo "==> Configuring KVMD users and groups ..."
|
||||||
|
|
||||||
id kvmd &>/dev/null || useradd -r -c "The main Pi-KVM daemon" -s /sbin/nologin kvmd
|
id kvmd &>/dev/null || useradd -r -c "The main Pi-KVM daemon" -s /sbin/nologin kvmd
|
||||||
|
|
||||||
for group in gpio uucp systemd-journal; do
|
for group in gpio uucp systemd-journal; do
|
||||||
(groupmems -l -g "$group" | grep kvmd >/dev/null) || groupmems -g "$group" -a kvmd
|
(groupmems -l -g "$group" | grep kvmd >/dev/null) || groupmems -g "$group" -a kvmd
|
||||||
done
|
done
|
||||||
|
|
||||||
|
id kvmd-nginx &>/dev/null || useradd -r -c "Pi-KVM Nginx Server" -s /sbin/nologin kvmd-nginx
|
||||||
|
(groupmems -l -g kvmd | grep kvmd-nginx >/dev/null) || groupmems -g kvmd -a kvmd-nginx
|
||||||
|
|
||||||
chown root:kvmd \
|
chown root:kvmd \
|
||||||
/usr/share/kvmd/configs.default/kvmd/*passwd \
|
/usr/share/kvmd/configs.default/kvmd/*passwd \
|
||||||
/etc/kvmd/*passwd
|
/etc/kvmd/*passwd
|
||||||
|
|||||||
@ -27,6 +27,7 @@ RUN pkg-install \
|
|||||||
python-systemd \
|
python-systemd \
|
||||||
python-dbus \
|
python-dbus \
|
||||||
python-mako \
|
python-mako \
|
||||||
|
libevent-patched \
|
||||||
nginx-mainline \
|
nginx-mainline \
|
||||||
ustreamer \
|
ustreamer \
|
||||||
socat \
|
socat \
|
||||||
@ -36,6 +37,7 @@ RUN pkg-install \
|
|||||||
COPY testenv/requirements.txt requirements.txt
|
COPY testenv/requirements.txt requirements.txt
|
||||||
RUN pip install -r requirements.txt
|
RUN pip install -r requirements.txt
|
||||||
|
|
||||||
|
RUN useradd -r -c "Pi-KVM Nginx Server" -s /sbin/nologin kvmd-nginx
|
||||||
RUN mkdir -p /etc/kvmd/nginx
|
RUN mkdir -p /etc/kvmd/nginx
|
||||||
|
|
||||||
CMD /bin/bash
|
CMD /bin/bash
|
||||||
|
|||||||
@ -1,7 +1,8 @@
|
|||||||
kvmd:
|
kvmd:
|
||||||
server:
|
server:
|
||||||
host: 0.0.0.0
|
unix: /run/kvmd.sock
|
||||||
port: 8081
|
unix_rm: true
|
||||||
|
unix_mode: 0666
|
||||||
|
|
||||||
auth: !include auth.yaml
|
auth: !include auth.yaml
|
||||||
|
|
||||||
@ -25,8 +26,7 @@ kvmd:
|
|||||||
cap_pin: 17
|
cap_pin: 17
|
||||||
conv_pin: 18
|
conv_pin: 18
|
||||||
init_restart_after: 1
|
init_restart_after: 1
|
||||||
host: 127.0.0.1
|
unix: /run/ustreamer.sock
|
||||||
port: 8082
|
|
||||||
cmd:
|
cmd:
|
||||||
- "/usr/bin/ustreamer"
|
- "/usr/bin/ustreamer"
|
||||||
- "--device=/dev/kvmd-video"
|
- "--device=/dev/kvmd-video"
|
||||||
@ -34,12 +34,12 @@ kvmd:
|
|||||||
- "--desired-fps={desired_fps}"
|
- "--desired-fps={desired_fps}"
|
||||||
- "--width=800"
|
- "--width=800"
|
||||||
- "--height=600"
|
- "--height=600"
|
||||||
- "--host=0.0.0.0"
|
- "--unix={unix}"
|
||||||
- "--port={port}"
|
- "--unix-rm"
|
||||||
|
- "--unix-mode=0666"
|
||||||
|
|
||||||
ipmi:
|
ipmi:
|
||||||
kvmd:
|
kvmd:
|
||||||
host: kvmd
|
unix: /run/kvmd.sock
|
||||||
port: 8081
|
|
||||||
|
|
||||||
logging: !include logging.yaml
|
logging: !include logging.yaml
|
||||||
|
|||||||
0
testenv/run/.gitignore
vendored
Normal file
0
testenv/run/.gitignore
vendored
Normal file
Loading…
x
Reference in New Issue
Block a user