Files
2025-11-07 09:40:06 -08:00

72 lines
1.9 KiB
YAML

---
- name: API Service - file and folder handler
block:
- name: API Service - create python service folder
file:
path: "{{ api_service_folder }}"
state: directory
owner: "{{ service_user }}"
group: "{{ service_user }}"
mode: '0755'
- name: API Service - template app.py
template:
src: app.py
dest: "{{ api_service_folder }}/app.py"
owner: "{{ service_user }}"
group: "{{ service_user }}"
mode: 0755
# Create python service venv
- name: API Service - Python venv handler
block:
- name: API Service - create python venv requirement file
copy:
dest: "{{ api_service_folder }}/requirements.txt"
content: |
flask
pytz
requests
opencv-python
pyyaml
owner: "{{ service_user }}"
group: "{{ service_user }}"
mode: 0644
- name: API Service - build python venv
pip:
virtualenv: "{{ api_service_folder }}/venv"
requirements: "{{ api_service_folder }}/requirements.txt"
virtualenv_command: python3 -m venv
state: present
- name: API Service - api service handler
block:
- name: "API Service - {{ api_service_name }} - stop service if running"
ignore_errors: yes
systemd:
name: "{{ api_service_name }}.service"
state: stopped
- name: "API Service - template {{ api_service_name }}.service"
vars:
service_name: "{{ api_service_name }}"
service_working_folder: "{{ api_service_folder }}"
service_exe: "{{ api_service_folder }}/venv/bin/python -u {{ api_service_folder }}/app.py"
template:
src: "service_template.service"
dest: "/etc/systemd/system/{{ api_service_name }}.service"
mode: 0644
- name: "API Service - {{ api_service_name }} - enable and start service"
systemd:
name: "{{ api_service_name }}.service"
state: started
enabled: yes
daemon_reload: yes
...