68 lines
		
	
	
		
			2.6 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
	
			
		
		
	
	
			68 lines
		
	
	
		
			2.6 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
	
# For more information regarding door management refer to
 | 
						|
# https://wiki.k-space.ee/en/hosting/doors
 | 
						|
 | 
						|
# 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: true
 | 
						|
      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
 | 
						|
        Documentation=
 | 
						|
        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: true
 | 
						|
      name: mjpg_streamer@video0.service
 |