初始化奇妙小屏幕控制器项目
This commit is contained in:
@@ -0,0 +1,4 @@
|
||||
PermitRootLogin no
|
||||
PasswordAuthentication yes
|
||||
KbdInteractiveAuthentication no
|
||||
PermitEmptyPasswords no
|
||||
@@ -0,0 +1,14 @@
|
||||
[Unit]
|
||||
Description=Confirm one-shot Matrix AXP313A kernel health
|
||||
After=matrix-screen-controller.service
|
||||
Wants=matrix-screen-controller.service
|
||||
OnFailure=matrix-axp313a-rollback.service
|
||||
ConditionKernelCommandLine=matrix_kernel_candidate=1
|
||||
|
||||
[Service]
|
||||
Type=oneshot
|
||||
ExecStart=/usr/bin/python3 /opt/matrix-screen-controller-system/axp313a_kernel_health.py
|
||||
TimeoutStartSec=90
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
||||
@@ -0,0 +1,9 @@
|
||||
[Unit]
|
||||
Description=Return to original WalnutPi kernel after candidate failure
|
||||
DefaultDependencies=no
|
||||
After=matrix-axp313a-health.service
|
||||
|
||||
[Service]
|
||||
Type=oneshot
|
||||
ExecStart=-/opt/matrix-screen-controller/app/display/native/hub75_safeoff
|
||||
ExecStart=/bin/systemctl --no-block reboot
|
||||
@@ -0,0 +1,15 @@
|
||||
[Unit]
|
||||
Description=Matrix Screen Controller one-time offline image provisioning
|
||||
RequiresMountsFor=/boot
|
||||
Wants=NetworkManager.service
|
||||
After=local-fs.target NetworkManager.service resize_part.service
|
||||
Before=ssh.service boot_script.service matrix-screen-controller.service
|
||||
ConditionPathExists=/boot/MSCINIT
|
||||
|
||||
[Service]
|
||||
Type=oneshot
|
||||
ExecStart=/boot/MSCINIT
|
||||
TimeoutStartSec=infinity
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
||||
@@ -0,0 +1,15 @@
|
||||
[Unit]
|
||||
Description=WalnutPi Matrix Screen Controller OTA Worker
|
||||
After=matrix-screen-controller.service
|
||||
ConditionPathExists=/run/matrix-screen-controller/ota-request.json
|
||||
|
||||
[Service]
|
||||
Type=oneshot
|
||||
WorkingDirectory=/opt/matrix-screen-controller
|
||||
Environment=PYTHONDONTWRITEBYTECODE=1
|
||||
ExecStart=/opt/matrix-screen-controller/.venv/bin/python -m scripts.ota_worker
|
||||
TimeoutStartSec=infinity
|
||||
Nice=5
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
||||
@@ -0,0 +1,31 @@
|
||||
[Unit]
|
||||
Description=Temporary isolated animation thumbnail GPIO performance test
|
||||
After=NetworkManager.service
|
||||
Wants=NetworkManager.service
|
||||
Conflicts=matrix-screen-controller.service
|
||||
|
||||
[Service]
|
||||
Type=simple
|
||||
WorkingDirectory=/var/tmp/matrix-screen-controller-preview-candidate-20260824/source
|
||||
Environment=MATRIX_DRIVER=auto
|
||||
Environment=MATRIX_DATA_DIR=/var/tmp/matrix-screen-controller-preview-perf-20260824
|
||||
Environment=MATRIX_RUNTIME_DIR=/run/matrix-screen-controller-preview-perf-20260824
|
||||
Environment=PYTHONDONTWRITEBYTECODE=1
|
||||
Environment=MATRIX_MEDIA_WORKER_MODE=inline
|
||||
RuntimeDirectory=matrix-screen-controller-preview-perf-20260824
|
||||
RuntimeDirectoryMode=0750
|
||||
RuntimeDirectoryPreserve=restart
|
||||
CPUAffinity=0 1 2
|
||||
LimitRTPRIO=50
|
||||
LimitMEMLOCK=infinity
|
||||
LimitRTTIME=infinity
|
||||
ExecStartPre=/bin/sh -c 'cat /proc/sys/kernel/sched_rt_runtime_us > /run/matrix-screen-controller-preview-perf-20260824/sched_rt_runtime_us.original && printf "%%s\n" -1 > /proc/sys/kernel/sched_rt_runtime_us'
|
||||
ExecStartPre=/var/tmp/matrix-screen-controller-preview-candidate-20260824/source/.venv/bin/python /var/tmp/matrix-screen-controller-preview-candidate-20260824/source/scripts/dedicated_host.py check --service
|
||||
ExecStartPre=/var/tmp/matrix-screen-controller-preview-candidate-20260824/source/app/display/native/hub75_safeoff
|
||||
ExecStart=/var/tmp/matrix-screen-controller-preview-candidate-20260824/source/.venv/bin/python -m uvicorn app.main:app --host 0.0.0.0 --port 18081
|
||||
ExecStopPost=/var/tmp/matrix-screen-controller-preview-candidate-20260824/source/app/display/native/hub75_safeoff
|
||||
ExecStopPost=/var/tmp/matrix-screen-controller-preview-candidate-20260824/source/.venv/bin/python -m app.system.performance restore --runtime-root /run/matrix-screen-controller-preview-perf-20260824
|
||||
ExecStopPost=/bin/sh -c 'if test -f /run/matrix-screen-controller-preview-perf-20260824/sched_rt_runtime_us.original; then cat /run/matrix-screen-controller-preview-perf-20260824/sched_rt_runtime_us.original > /proc/sys/kernel/sched_rt_runtime_us; rm -f /run/matrix-screen-controller-preview-perf-20260824/sched_rt_runtime_us.original; fi'
|
||||
Restart=no
|
||||
TimeoutStopSec=30
|
||||
|
||||
@@ -0,0 +1,34 @@
|
||||
[Unit]
|
||||
Description=WalnutPi H618 Matrix Screen Controller
|
||||
After=NetworkManager.service
|
||||
Wants=NetworkManager.service
|
||||
|
||||
[Service]
|
||||
Type=simple
|
||||
WorkingDirectory=/opt/matrix-screen-controller
|
||||
Environment=MATRIX_DRIVER=auto
|
||||
Environment=MATRIX_DATA_DIR=/var/lib/matrix-screen-controller
|
||||
Environment=MATRIX_RUNTIME_DIR=/run/matrix-screen-controller
|
||||
Environment=PYTHONDONTWRITEBYTECODE=1
|
||||
Environment=MATRIX_MEDIA_WORKER_MODE=systemd
|
||||
StateDirectory=matrix-screen-controller
|
||||
StateDirectoryMode=0711
|
||||
RuntimeDirectory=matrix-screen-controller
|
||||
RuntimeDirectoryMode=0750
|
||||
RuntimeDirectoryPreserve=yes
|
||||
CPUAffinity=0 1 2
|
||||
LimitRTPRIO=50
|
||||
LimitMEMLOCK=infinity
|
||||
LimitRTTIME=infinity
|
||||
ExecStartPre=/bin/sh -c 'cat /proc/sys/kernel/sched_rt_runtime_us > /run/matrix-screen-controller/sched_rt_runtime_us.original && printf "%%s\n" -1 > /proc/sys/kernel/sched_rt_runtime_us'
|
||||
ExecStartPre=/opt/matrix-screen-controller/.venv/bin/python /opt/matrix-screen-controller/scripts/dedicated_host.py check --service
|
||||
ExecStartPre=/opt/matrix-screen-controller/app/display/native/hub75_safeoff
|
||||
ExecStart=/opt/matrix-screen-controller/.venv/bin/python -m uvicorn app.main:app --host 0.0.0.0 --port 8080
|
||||
ExecStopPost=/opt/matrix-screen-controller/app/display/native/hub75_safeoff
|
||||
ExecStopPost=/opt/matrix-screen-controller/.venv/bin/python -m app.system.performance restore --runtime-root /run/matrix-screen-controller
|
||||
ExecStopPost=/bin/sh -c 'if test -f /run/matrix-screen-controller/sched_rt_runtime_us.original; then cat /run/matrix-screen-controller/sched_rt_runtime_us.original > /proc/sys/kernel/sched_rt_runtime_us; rm -f /run/matrix-screen-controller/sched_rt_runtime_us.original; fi'
|
||||
Restart=on-failure
|
||||
RestartSec=3
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
||||
@@ -0,0 +1,24 @@
|
||||
[Unit]
|
||||
Description=Matrix Screen isolated media converter %i
|
||||
After=matrix-screen-controller.service
|
||||
|
||||
[Service]
|
||||
Type=oneshot
|
||||
WorkingDirectory=/opt/matrix-screen-controller
|
||||
Environment=MATRIX_DATA_DIR=/var/lib/matrix-screen-controller
|
||||
Environment=MATRIX_RUNTIME_DIR=/run/matrix-screen-controller
|
||||
Environment=PYTHONDONTWRITEBYTECODE=1
|
||||
ExecStart=/usr/bin/flock --exclusive /run/matrix-screen-controller/converter.lock /opt/matrix-screen-controller/.venv/bin/python -m app.media.worker %i
|
||||
AllowedCPUs=0 1
|
||||
CPUAffinity=0 1
|
||||
CPUQuota=150%
|
||||
MemoryMax=384M
|
||||
MemorySwapMax=0
|
||||
IOWeight=10
|
||||
Nice=10
|
||||
PrivateNetwork=yes
|
||||
NoNewPrivileges=yes
|
||||
ProtectSystem=strict
|
||||
ProtectHome=yes
|
||||
ReadWritePaths=/var/lib/matrix-screen-controller /run/matrix-screen-controller
|
||||
TimeoutStartSec=4h
|
||||
@@ -0,0 +1,19 @@
|
||||
[Unit]
|
||||
Description=Matrix Screen Controller FRP Client
|
||||
After=network-online.target
|
||||
Wants=network-online.target
|
||||
ConditionPathExists=/var/lib/matrix-screen-controller/frp/active.env
|
||||
|
||||
[Service]
|
||||
Type=simple
|
||||
EnvironmentFile=/var/lib/matrix-screen-controller/frp/active.env
|
||||
WorkingDirectory=/var/lib/matrix-screen-controller/frp
|
||||
UMask=0027
|
||||
ExecStart=/usr/local/bin/frpc -c ${FRPC_CONFIG} --allow-unsafe=TokenSourceExec
|
||||
Restart=on-failure
|
||||
RestartSec=5
|
||||
TimeoutStopSec=15
|
||||
KillSignal=SIGTERM
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
||||
Reference in New Issue
Block a user