back-end ustreamer, GPS, timelapse, and photo-refresh site working

This commit is contained in:
2025-07-27 15:10:11 -07:00
parent 7496df0174
commit b740ba9991
22 changed files with 443 additions and 99 deletions

65
tasks/gps_service.yaml Normal file
View File

@ -0,0 +1,65 @@
---
# Create service Folder
- name: gps_service - create photo_refresh folder
file:
path: "{{ gps_service_directory }}"
state: directory
mode: '0755'
owner: root
group: root
# install packages
- name: gps_service - Install Packages
apt:
name:
- gpsd
- gpsd-clients
state: present
register: apt_result
ignore_errors: true
- name: gps_service - Enable and start gpsd system service
become: true
systemd:
daemon_reload: yes
state: started
enabled: yes
name: gpsd
# this should never fail if things are plugged in correctly
- name: gps_service - check for GPS device
shell: ls /dev/ttyACM0
register: check_gps_device
- name: gps_service - show device
debug:
msg: "Device Found: {{ check_gps_device.stdout_lines[0] }}"
- name: gps_service - copy service script
template:
src: gps_service.sh.j2
dest: "{{ gps_service_directory }}/gps_service.sh"
mode: 0755
# Create gps_service python service
- name: gps_service - create service file
# vars:
template:
src: gps_service.service.j2
dest: /etc/systemd/system/gps_service.service
mode: 0644
# daemon reload
- name: gps_service - daemon reload
systemd:
daemon_reload: yes
# Enable and start
- name: gps_service - enable and start api
systemd:
name: gps_service.service
state: started
enabled: yes
...

View File

@ -14,16 +14,6 @@
group: cosmos
mode: '0700'
- name: set kiosk template vars
set_fact:
kiosk_service_templates:
- chrome_resolution: "720,405"
chrome_website: "http://127.0.0.1:7123/stream"
service_name: chrome_webcam
- chrome_resolution: "720,595"
chrome_website: "http://127.0.0.1:3000"
service_name: chrome_timelapse_control
- name: configure kiosks
block:

View File

@ -11,10 +11,17 @@
### Top Cam Feed Kiosk
### Bottom Service Control Panel
- name: Carputer Early Tasks
include_tasks:
- ustreamer.yaml
- timelapse.yaml
- photo_refresh.yaml
#- name: Install ustreamer
# include_tasks: ustreamer.yaml
#
#- name: Install gps_service
# include_tasks: gps_service.yaml
#
#- name: install timelapse service
# include_tasks: timelapse.yaml
#
#- name: Install photo refresh site
# include_tasks: photo_refresh.yaml
...

View File

@ -0,0 +1,59 @@
---
- name: photo_refresh - set folder variable
set_fact:
docker_source: "/opt/cosmos/photo_refresh"
# Create docker Folder
- name: photo_refresh - create photo_refresh folder
file:
path: "{{ docker_source }}"
state: directory
mode: '0755'
owner: timelapse
group: timelapse
- name: photo_refresh - copy files for docker container
copy:
src: "image_refresh_php/"
dest: "{{ docker_source }}/"
mode: 0755
owner: root
group: root
- name: photo_refresh - Build image
shell: "docker build -t photo_refresh {{ docker_source }}/."
# docker_image:
# name: photo_refresh # Name of the Docker image
# source: build
# build:
# path: "{{ docker_source }}" # Path to the directory containing your Dockerfile
# state: present
# tag: latest
###############################################
# Start photo_refresh
###############################################
- name: start photo_refresh
block:
- name: photo_refresh - template config
template:
src: docker-compose-node.yaml.j2
dest: "{{ docker_source }}/docker-compose.yaml"
mode: 0644
- name: photo_refresh - Start container at 0.0.0.0:3000
shell: "docker-compose -f {{ docker_source }}/docker-compose.yaml up -d"
register: local_index_output
- debug: |
msg="{{ local_index_output.stdout_lines }}"
msg="{{ local_index_output.stderr_lines }}"
...

View File

@ -1,31 +1,33 @@
---
- name: photo_refresh - set folder variable
set_fact:
- docker_source: "/opt/cosmos/photo_refresh"
# Create docker Folder
- name: lldp - python - create api folder
- name: photo_refresh - create photo_refresh folder
file:
path: "{{ docker_source }}"
path: "{{ photo_refresh_folder }}"
state: directory
mode: '0755'
mode: '0755'
owner: root
group: root
- name: photo_refresh - copy files for docker container
copy:
src: "image_refresh"
dest: "{{ docker_source }}"
recursive: yes
src: "image_refresh_php/"
dest: "{{ photo_refresh_folder }}/html"
mode: 0755
owner: root
group: root
- name: photo_refresh - Build image
docker_image:
name: photo_refresh # Name of the Docker image
source: build
build:
path: "{{ docker_source }}" # Path to the directory containing your Dockerfile
state: present
tag: latest
# - name: photo_refresh - Build image
# shell: "docker build -t photo_refresh {{ photo_refresh_folder }}/."
# docker_image:
# name: photo_refresh # Name of the Docker image
# source: build
# build:
# path: "{{ photo_refresh_folder }}" # Path to the directory containing your Dockerfile
# state: present
# tag: latest
###############################################
@ -35,14 +37,14 @@
- name: start photo_refresh
block:
- name: photo_refresh - Copy config
- name: photo_refresh - template config
template:
source: docker-compose-node.yaml.j2
dest: "{{ docker_source }}docker-compose.yaml"
src: docker-compose-php.yaml.j2
dest: "{{ photo_refresh_folder }}/docker-compose.yaml"
mode: 0644
- name: photo_refresh - Start container at 0.0.0.0:3000
shell: "docker-compose -f {{ docker_source }}/docker-compose.yaml up -d"
- name: photo_refresh - Start container at 0.0.0.0:8080
shell: "docker-compose -f {{ photo_refresh_folder }}/docker-compose.yaml up -d"
register: local_index_output
- debug: |
msg="{{ local_index_output.stdout_lines }}"

View File

@ -1,13 +1,24 @@
---
# install packages
- name: photo_refresh - Install Packages
apt:
name:
- bc
- ffmpeg
- imagemagick
state: present
register: apt_result
ignore_errors: true
# Create working Folder
- name: lldp - python - create api folder
- name: timelapse - create working folder
file:
path: "{{ working_folder }}"
state: directory
mode: '0755'
- name: set template vars
- name: timelapse - set template vars
set_fact:
# timelapse related scripts
timelapse_script_templates:
@ -18,23 +29,16 @@
- src: create_timelapse.sh.j2
dest: "{{ working_folder }}/create_timelapse.sh"
- name: Create user
user:
name: "timelapse"
state: present
shell: /bin/bash
groups: video
- name: template scripts
- name: timelapse - template scripts
template:
src: "{{ item.src }}"
dest: "{{ item.dest }}"
loop: "{{ timelapse_script_templates }}"
owner: timelapse
group: timelapse
owner: root
group: root
mode: 0755
loop: "{{ timelapse_script_templates }}"
- name: template service file
- name: timelapse - template service file
template:
src: timelapse.service.j2
dest: /etc/systemd/system/timelapse.service
@ -42,12 +46,11 @@
group: root
mode: 0644
- name: Enable and start service
- name: timelapse - daemon reload
become: true
systemd:
daemon_reload: yes
state: started
enabled: yes
name: timelapse
state: stopped
name: timelapse.service
...

View File

@ -1,6 +1,6 @@
---
- name: Install Packages
- name: ustreamer - Install Packages
apt:
name:
- ustreamer
@ -8,14 +8,14 @@
register: apt_result
ignore_errors: true
- name: Create user
- name: ustreamer - Create user
user:
name: "ustreamer"
state: present
shell: /bin/bash
groups: video
- name: create service file
- name: ustreamer - create service file
template:
src: ustreamer.service.j2
dest: /etc/systemd/system/ustreamer.service
@ -23,7 +23,7 @@
group: root
mode: 0644
- name: Enable and start service
- name: ustreamer - Enable and start service
become: true
systemd:
daemon_reload: yes