forked from k-space/kube
64 lines
2.6 KiB
YAML
64 lines
2.6 KiB
YAML
# ansible doors -m shell -a "ctr image pull harbor.k-space.ee/k-space/mjpg-streamer:latest"
|
|
# journalctl -u mjpg_streamer@video0.service -f
|
|
- name: Setup doors
|
|
hosts: doors
|
|
tasks:
|
|
- name: Make sure containerd is installed
|
|
ansible.builtin.apt:
|
|
name: containerd
|
|
state: present
|
|
|
|
- name: Copy systemd service for Doorboy controller
|
|
copy:
|
|
dest: /etc/systemd/system/godoor.service
|
|
content: |
|
|
[Unit]
|
|
Description=Doorboy service
|
|
Documentation=https://git.k-space.ee/k-space/godoor
|
|
After=network.target
|
|
[Service]
|
|
Environment=IMAGE=harbor.k-space.ee/k-space/godoor:latest
|
|
ExecStartPre=-ctr task kill --signal=9 %N
|
|
ExecStartPre=-ctr task rm %N
|
|
ExecStartPre=-ctr c rm %N
|
|
ExecStartPre=-ctr image pull $IMAGE
|
|
ExecStart=ctr run --rm --pid-file=/run/%N.pid --privileged --read-only --env-file=/etc/godoor --env=KDOORPI_API_ALLOWED=https://doorboy-proxy.k-space.ee/allowed --env=KDOORPI_API_LONGPOLL=https://doorboy-proxy.k-space.ee/longpoll --env=KDOORPI_API_SWIPE=https://doorboy-proxy.k-space.ee/swipe --env=KDOORPI_DOOR=%H --net-host --net-host --cwd /app $IMAGE %N /godoor
|
|
ExecStopPost=ctr task rm %N
|
|
ExecStopPost=ctr c rm %N
|
|
Restart=always
|
|
[Install]
|
|
WantedBy=multi-user.target
|
|
- name: Enable Doorboy controller
|
|
ansible.builtin.systemd:
|
|
state: restarted
|
|
daemon_reload: yes
|
|
name: godoor.service
|
|
|
|
- name: Copy systemd service for mjpg-streamer
|
|
copy:
|
|
dest: /etc/systemd/system/mjpg_streamer@.service
|
|
content: |
|
|
[Unit]
|
|
Description=A server for streaming Motion-JPEG from a video capture device
|
|
After=network.target
|
|
ConditionPathExists=/dev/%I
|
|
[Service]
|
|
Environment=IMAGE=harbor.k-space.ee/k-space/mjpg-streamer:latest
|
|
StandardOutput=tty
|
|
Type=forking
|
|
ExecStartPre=-ctr task kill --signal=9 %p_%i
|
|
ExecStartPre=-ctr task rm %p_%i
|
|
ExecStartPre=-ctr c rm %p_%i
|
|
ExecStartPre=-ctr image pull $IMAGE
|
|
ExecStart=ctr run --tty -d --rm --pid-file=/run/%i.pid --privileged --read-only --net-host $IMAGE %p_%i /usr/local/bin/mjpg_streamer -i 'input_uvc.so -d /dev/%I -r 1280x720 -f 10' -o 'output_http.so -w /usr/share/mjpg_streamer/www'
|
|
ExecStopPost=ctr task rm %p_%i
|
|
ExecStopPost=ctr c rm %p_%i
|
|
PIDFile=/run/%i.pid
|
|
[Install]
|
|
WantedBy=multi-user.target
|
|
- name: Enable mjpg-streamer
|
|
ansible.builtin.systemd:
|
|
state: restarted
|
|
daemon_reload: yes
|
|
name: mjpg_streamer@video0.service
|