node.js dashboard works

This commit is contained in:
2025-11-30 22:17:14 -08:00
parent c6d51f2a49
commit ebbc5ac5cf
22 changed files with 829 additions and 196 deletions

View File

@ -34,15 +34,15 @@
ExecStart=
ExecStart=-/sbin/agetty --autologin {{ autologin_user }} --noclear %I 38400 linux
# create hello_there ASCII art
- name: autologin - generate hello_there.txt for the lulz
when: not quick_refresh | bool
include_tasks: hello_there.yaml
- name: autologin - script permission settings
when: not service_only | bool
- name: autologin - quick refresh skippable tasks
when: not quick_refresh | bool
block:
# create hello_there ASCII art
- name: autologin - generate hello_there.txt for the lulz
include_tasks: hello_there.yaml
- name: User setup - update permissions on smartctl 1
shell: "chmod 755 /usr/sbin/smartctl"

View File

@ -24,17 +24,36 @@
owner: root
group: root
- name: docker container
- name: websocket tasks
when: not quick_refresh | bool
block:
- name: websocket - copy websocket server files
copy:
src: "ws_node"
dest: "{{ service_folder }}"
mode: 0755
owner: root
group: root
- name: websocket - build docker container
community.docker.docker_image_build:
name: ws_node
rebuild: always
path: "{{ service_folder }}/ws_node"
dockerfile: Dockerfile
- name: docker containers
when: not quick_refresh | bool
block:
- name: service_control_website - template docker-compose.yaml
template:
src: docker-compose-php.yaml
src: docker-compose.yaml
dest: "{{ service_control_web_folder }}/docker-compose.yaml"
mode: 0644
- name: "service_control_website - Start container at {{ container_http_port }}"
- name: "service_control_website - Start containers"
shell: "docker-compose -f {{ service_control_web_folder }}/docker-compose.yaml up -d"
register: docker_output
- debug: |

View File

@ -11,6 +11,12 @@
group: "{{ autologin_user }}"
mode: '0755'
- name: "Drive Index - {{ api_service_name }} - stop service if running"
ignore_errors: yes
systemd:
name: "{{ api_service_name }}.service"
state: stopped
- name: Drive Index - copy script files
copy:
src: scripts/
@ -40,6 +46,9 @@
pytz
requests
opencv-python
flask-socketio
eventlet
redis
owner: "{{ autologin_user }}"
group: "{{ autologin_user }}"
mode: 0644
@ -54,12 +63,6 @@
- name: Drive Index - api service handler
block:
- name: "Drive Index - {{ api_service_name }} - stop service if running"
ignore_errors: yes
systemd:
name: "{{ api_service_name }}.service"
state: stopped
- name: "Drive Index - template {{ api_service_name }}.service"
vars:
service_name: "{{ api_service_name }}"
@ -70,12 +73,9 @@
dest: "/etc/systemd/system/{{ api_service_name }}.service"
mode: 0644
- name: "Drive Index - {{ api_service_name }} - daemon reload"
- name: "Drive Index - {{ api_service_name }} - enable and start service, daemon reload"
systemd:
daemon_reload: yes
- name: "Drive Index - {{ api_service_name }} - enable and start service"
systemd:
name: "{{ api_service_name }}.service"
state: started
enabled: yes

View File

@ -1,30 +0,0 @@
---
- name: Initialiaze - Install Packages
when: not quick_refresh | bool
apt:
name:
- "{{ ssd_health_packages_item }}"
state: present
loop: "{{ ssd_health_packages }}"
loop_control:
loop_var: ssd_health_packages_item
- name: "Initialiaze - create {{ autologin_user }} user"
when: not quick_refresh | bool
user:
name: "{{ autologin_user }}"
groups: disk
password: "{{ autologin_password | password_hash('sha512') }}"
shell: /bin/bash
- name: "Initialiaze - ensure {{ autologin_user }} home folder exists"
when: not quick_refresh | bool
file:
path: "/home/{{ autologin_user }}"
state: directory
owner: "{{ autologin_user }}"
group: "{{ autologin_user }}"
mode: '0700'
...

65
tasks/initialize.yaml Normal file
View File

@ -0,0 +1,65 @@
---
- name: Initialize - set service_only when ran through cosmos-server
when: refresh_special | bool
set_fact:
service_only: true
- name: Initialize - Install Packages
when: not quick_refresh | bool
apt:
name:
- "{{ ssd_health_packages_item }}"
state: present
loop: "{{ ssd_health_packages }}"
loop_control:
loop_var: ssd_health_packages_item
- name: "Initialize - create {{ autologin_user }} user"
when: not quick_refresh | bool
user:
name: "{{ autologin_user }}"
groups: disk
password: "{{ autologin_password | password_hash('sha512') }}"
shell: /bin/bash
- name: "Initialize - ensure {{ autologin_user }} home folder exists"
when: not quick_refresh | bool
file:
path: "/home/{{ autologin_user }}"
state: directory
owner: "{{ autologin_user }}"
group: "{{ autologin_user }}"
mode: '0700'
- name: Initialize - set vars when needed
when: quick_refresh | bool or refresh_special | bool
block:
- name: Check CPU Arch
shell: "dpkg --print-architecture"
register: cpu_architecture_output
- name: Set bool armcpu_check
when: '"arm" in cpu_architecture_output.stdout'
set_fact:
armcpu_check: true
- debug: |
msg="CPU architecture: {{ cpu_architecture_output.stdout_lines[0] }}"
msg="armcpu_check: {{ armcpu_check }}"
- name: Initialize - docker-buildx handler
when: armcpu_check | bool
block:
- name: docker-buildx handler - download deb file
get_url:
url: "http://ftp.us.debian.org/debian/pool/main/d/docker-buildx/docker-buildx_0.13.1+ds1-3_arm64.deb"
dest: "/tmp/docker-buildx_0.13.1+ds1-3_arm64.deb"
mode: '0644'
- name: docker-buildx handler - install package
apt:
deb: "/tmp/docker-buildx_0.13.1+ds1-3_arm64.deb"
...

View File

@ -2,7 +2,7 @@
# create and configure user account
- name: Drive health - initialize early steps
include_tasks: initialiaze.yaml
include_tasks: initialize.yaml
# create drive index service
- name: Drive health - drive_index service
@ -14,14 +14,14 @@
# set up autologin
- name: Drive health - configure autologin
when: not install_kiosk | bool or not service_only | bool
when: not install_kiosk | bool and not service_only | bool
include_tasks: autologin.yaml
# configure service-mode
- name: Drive health - configure autologin
- name: Drive health - configure service-mode, disable autologin
when: install_kiosk | bool or service_only | bool
include_tasks: service_mode.yaml
# Install chrome kiosk
- name: install chromium kiosk
when: install_kiosk | bool and not service_only | bool

View File

@ -1,28 +1,28 @@
---
- name: autologin - edit logind to reduce vterms to one
# reverse autologin things
- name: no autologin - edit logind to set vterms to six
lineinfile:
dest: /etc/systemd/logind.conf
regexp: '^#NAutoVTs='
line: 'NAutoVTs=6'
backrefs: yes
- name: autologin - create getty tty1 service folder
file:
path: /etc/systemd/system/getty@tty1.service.d/
state: directory
mode: '0700'
- name: no autologin - "delete autologin files"
ignore_errors: yes
shell: |
rm /home/{{ autologin_user }}/.bash_aliases
rm /etc/systemd/system/getty@tty1.service.d/override.conf
rm /etc/sudoers.d/smartctl
- name: autologin - "delete {{ autologin_user }} .bash_aliases"
shell: "rm /home/{{ autologin_user }}/.bash_aliases"
- name: autologin - remove autologin override to getty tty1 service
shell: "rm /etc/systemd/system/getty@tty1.service.d/override.conf"
#- name: no autologin - remove autologin override to getty tty1 service
# shell: "rm /etc/systemd/system/getty@tty1.service.d/override.conf"
#
#- name: no autologin - "User setup - allow {{ autologin_user }} to smartctl"
# shell: "rm /etc/sudoers.d/smartctl"
- name: autologin - "User setup - allow {{ autologin_user }} to smartctl"
shell: "rm /etc/sudoers.d/smartctl"
- name: autologin - Restart getty@tty1 service
- name: no autologin - Restart getty@tty1 service
systemd:
name: getty@tty1.service
state: restarted

View File

@ -3,14 +3,6 @@
- name: Service Mode - set sleep_time to 1
set_fact:
sleep_time: "1"
- name: "Service Mode - template drive_check.sh again"
template:
src: drive_check.sh
dest: "{{ service_folder }}/drive_check.sh"
mode: 0755
owner: "{{ autologin_user }}"
group: "{{ autologin_user }}"
- name: "Service Mode - {{ kiosk_service_name }}.service - stop service if running"
ignore_errors: yes
@ -18,6 +10,16 @@
name: "{{ kiosk_service_name }}.service"
state: stopped
- name: "Service Mode - template drive_check.sh again"
vars:
service_mode: true
template:
src: drive_check.sh
dest: "{{ service_folder }}/drive_check.sh"
mode: 0755
owner: "{{ autologin_user }}"
group: "{{ autologin_user }}"
- name: "Service Mode - template {{ kiosk_service_name }}.service"
vars:
service_name: "{{ kiosk_service_name }}"
@ -28,12 +30,9 @@
dest: "/etc/systemd/system/{{ kiosk_service_name }}.service"
mode: 0644
- name: "Service Mode - {{ kiosk_service_name }} - daemon reload"
- name: "Service Mode - {{ kiosk_service_name }} - enable and start service api and daemon reload"
systemd:
daemon_reload: yes
- name: "Service Mode - {{ kiosk_service_name }} - enable and start service api"
systemd:
name: "{{ kiosk_service_name }}.service"
state: started
enabled: yes