1
0
Fork 0
mirror of https://github.com/iiab/iiab.git synced 2025-03-09 15:40:17 +00:00

supervisor files - templated

supervisor files - defaults

supervisor into play
This commit is contained in:
Jerry Vonau 2021-05-23 21:03:32 +00:00
parent 9428108e96
commit 2ebe521d09
7 changed files with 47 additions and 66 deletions

View file

@ -20,14 +20,16 @@ lokole_admin_password: changeme
lokole_install_path: "{{ content_base }}/lokole" # /library/lokole lokole_install_path: "{{ content_base }}/lokole" # /library/lokole
lokole_venv: "{{ lokole_install_path }}/venv" # /library/lokole/venv lokole_venv: "{{ lokole_install_path }}/venv" # /library/lokole/venv
lokole_confd: /etc/supervisor/conf.d
# Info needed to run Lokole: # Info needed to run Lokole:
lokole_user: lokole lokole_user: lokole
lokole_url: /lokole lokole_url: /lokole
lokole_uid: "2000" lokole_uid: "2000"
lokole_run_directory: /home/{{ lokole_user }}/state lokole_home_dir: /home/{{ lokole_user }}
lokole_log_directory: /home/{{ lokole_user }}/log lokole_run_dir: "{{ lokole_home_dir }}/state"
lokole_domain_socket: "{{ lokole_run_directory }}/lokole_gunicorn.sock" lokole_log_dir: "{{ lokole_home_dir }}/logs"
lokole_domain_socket: "{{ lokole_run_dir }}/lokole_gunicorn.sock"
lokole_sim_type: LocalOnly lokole_sim_type: LocalOnly
lokole_full_url: "http://{{ iiab_hostname }}.{{ iiab_domain }}{{ lokole_url }}" # http://box.lan/lokole lokole_full_url: "http://{{ iiab_hostname }}.{{ iiab_domain }}{{ lokole_url }}" # http://box.lan/lokole

View file

@ -25,6 +25,7 @@
- libjpeg-dev - libjpeg-dev
- libssl-dev - libssl-dev
- libopenjp2-7 # 2020-02-01: To solve bug #2221 - libopenjp2-7 # 2020-02-01: To solve bug #2221
- supervisor
state: present state: present
# For development purposes -- To install Lokole from a given commit, add the # For development purposes -- To install Lokole from a given commit, add the
@ -75,47 +76,47 @@
ansible.builtin.user: ansible.builtin.user:
state: present state: present
name: "{{ lokole_user }}" name: "{{ lokole_user }}"
group: "{{ lokole_user }}"
system: yes system: yes
uid: "{{ lokole_uid }}" uid: "{{ lokole_uid }}"
home: /home/{{ lokole_user }} home: "{{ lokole_home_dir }}"
- name: mkdir {{ lokole_run_directory }} - name: mkdir {{ lokole_run_dir }}
file: file:
state: directory state: directory
path: "{{ lokole_run_directory }}" path: "{{ lokole_run_dir }}/lokole_restarter"
group: "{{ lokole_user }}" group: "{{ lokole_user }}"
owner: "{{ lokole_user }}" owner: "{{ lokole_user }}"
mode: g+rw mode: g+rw
- name: mkdir /{{ lokole_user }}/log - name: mkdir {{ lokole_log_dir }}
file: file:
state: directory state: directory
path: "{{ lokole_log_directory }}" path: "{{ lokole_log_dir }}"
group: "{{ lokole_user }}" group: "{{ lokole_user }}"
owner: "{{ lokole_user }}" owner: "{{ lokole_user }}"
mode: g+rw mode: g+rw
- name: Install {{ lokole_run_directory }}/settings.env - name: Install {{ lokole_run_dir }}/settings.env
template: template:
src: settings.env.j2 src: settings.env.j2
dest: "{{ lokole_run_directory }}/settings.env" dest: "{{ lokole_run_dir }}/settings.env"
group: "{{ lokole_user }}" group: "{{ lokole_user }}"
owner: "{{ lokole_user }}" owner: "{{ lokole_user }}"
mode: a+rw mode: a+rw
- name: Install {{ lokole_run_directory }}/webapp_secrets.sh from template, to configure Lokole - name: Install {{ lokole_confd }} templates to configure Lokole
template: template:
src: webapp_secrets.sh.j2 src: "{{ item.src }}"
dest: "{{ lokole_run_directory }}/webapp_secrets.sh" dest: "{{ lokole_confd }}"
mode: a+x
- name: Install {{ lokole_run_directory }}/webapp.sh from template, to configure Gunicorn
template:
src: webapp.sh.j2
dest: "{{ lokole_run_directory }}/webapp.sh"
group: "{{ lokole_user }}" group: "{{ lokole_user }}"
owner: "{{ lokole_user }}" owner: "{{ lokole_user }}"
mode: a+x mode: 0644
with_items:
- { src: 'lokole_gunicorn.conf' }
- { src: 'lokole_celery_beat.conf' }
- { src: 'lokole_celery_worker.conf' }
- { src: 'lokole_restarter.conf' }
- name: Create Lokole admin user with password, for http://box{{ lokole_url }} # http://box/lokole - name: Create Lokole admin user with password, for http://box{{ lokole_url }} # http://box/lokole
shell: | shell: |
@ -129,18 +130,6 @@
mode: 0644 mode: 0644
when: apache_install when: apache_install
- name: Install unit files {lokole.service, celery.service, celerybeat.service, lokole_restarter.service} into /etc/systemd/system, from template
template:
src: "{{ item.src }}"
dest: "{{ item.dest}}"
mode: 0644
with_items:
- { src: 'lokole.service.j2', dest: '/etc/systemd/system/lokole.service' }
- { src: 'celery.service.j2', dest: '/etc/systemd/system/celery.service' }
- { src: 'celerybeat.service.j2', dest: '/etc/systemd/system/celerybeat.service' }
- { src: 'lokole_restarter.service.j2', dest: '/etc/systemd/system/lokole_restarter.service' }
# RECORD Lokole AS INSTALLED # RECORD Lokole AS INSTALLED
- name: "Set 'lokole_installed: True'" - name: "Set 'lokole_installed: True'"

View file

@ -24,34 +24,24 @@
when: lokole_installed is undefined when: lokole_installed is undefined
- name: Do a 'systemctl daemon-reload' if lokole_enabled - name: Do a 'systemctl daemon-reload'
systemd: systemd:
daemon_reload: yes daemon_reload: yes
when: lokole_enabled when: lokole_enabled
- name: Enable & Restart {lokole, celery, celerybeat, lokole_restarter} systemd services, if lokole_enabled - name: Enable & Restart supervisor systemd service, if lokole_enabled
systemd: systemd:
name: "{{ item }}" name: supervisor
enabled: yes enabled: yes
state: restarted state: restarted
when: lokole_enabled when: lokole_enabled
with_items:
- lokole
- celery
- celerybeat
- lokole_restarter
- name: Disable & Stop all 4 (above) systemd services, if not lokole_enabled - name: Disable & Stop supervisor systemd service, if not lokole_enabled
systemd: systemd:
name: "{{ item }}" name: supervisor
enabled: no enabled: no
state: stopped state: stopped
when: not lokole_enabled when: not lokole_enabled
with_items: # @jvonau prefers reverse starting order, if stopping these 4
- lokole_restarter
- celerybeat
- celery
- lokole
#- name: SHIM FOR NOW SO ALWAYS DO THE...Enable/Disable/Restart Apache #- name: SHIM FOR NOW SO ALWAYS DO THE...Enable/Disable/Restart Apache
- name: Enable/Disable/Restart Apache if primary - name: Enable/Disable/Restart Apache if primary

View file

@ -1,10 +1,10 @@
[program:lokole_celery_beat] [program:lokole_celery_beat]
command="/home/ubuntu/lokole/venv/bin/celery" --app=opwen_email_client.webapp.tasks beat --pidfile="/home/ubuntu/lokole/state/lokole_celery_beat.pid" --loglevel=error command="{{ lokole_venv }}/bin/celery" --app=opwen_email_client.webapp.tasks beat --pidfile="{{ lokole_run_dir }}/lokole_celery_beat.pid" --loglevel=error
autostart=true autostart=true
autorestart=true autorestart=true
startretries=3 startretries=3
stopasgroup=true stopasgroup=true
stderr_logfile=/home/ubuntu/lokole/logs/lokole_celery_beat.stderr.log stderr_logfile={{ lokole_log_dir }}/lokole_celery_beat.stderr.log
stdout_logfile=/home/ubuntu/lokole/logs/lokole_celery_beat.stdout.log stdout_logfile={{ lokole_log_dir }}/lokole_celery_beat.stdout.log
user=ubuntu user={{ lokole_user }}
environment=OPWEN_SETTINGS=/home/ubuntu/lokole/state/settings.env environment=OPWEN_SETTINGS={{ lokole_run_dir }}/settings.env

View file

@ -1,10 +1,10 @@
[program:lokole_celery_worker] [program:lokole_celery_worker]
command="/home/ubuntu/lokole/venv/bin/celery" --app=opwen_email_client.webapp.tasks worker --loglevel=error --concurrency=2 command="{{ lokole_venv }}/bin/celery" --app=opwen_email_client.webapp.tasks worker --loglevel=error --concurrency=2
autostart=true autostart=true
autorestart=true autorestart=true
startretries=3 startretries=3
stopasgroup=true stopasgroup=true
stderr_logfile=/home/ubuntu/lokole/logs/lokole_celery_worker.stderr.log stderr_logfile={{ lokole_log_dir }}/lokole_celery_worker.stderr.log
stdout_logfile=/home/ubuntu/lokole/logs/lokole_celery_worker.stdout.log stdout_logfile={{ lokole_log_dir }}/lokole_celery_worker.stdout.log
user=ubuntu user="{{ lokole_user }}"
environment=OPWEN_SETTINGS=/home/ubuntu/lokole/state/settings.env environment=OPWEN_SETTINGS={{ lokole_run_dir }}/settings.env

View file

@ -1,10 +1,10 @@
[program:lokole_gunicorn] [program:lokole_gunicorn]
command="/home/ubuntu/lokole/venv/bin/gunicorn" --bind="unix:/home/ubuntu/lokole/state/lokole_gunicorn.sock" --timeout=300 --workers=3 --log-level=error opwen_email_client.webapp:app command="{{ lokole_venv }}/bin/gunicorn" --bind="unix:{{ lokole_run_dir }}/lokole_gunicorn.sock" --timeout=300 --workers=3 --log-level=error opwen_email_client.webapp:app
autostart=true autostart=true
autorestart=true autorestart=true
startretries=3 startretries=3
stopasgroup=true stopasgroup=true
stderr_logfile=/home/ubuntu/lokole/logs/lokole_gunicorn.stderr.log stderr_logfile={{ lokole_log_dir }}/lokole_gunicorn.stderr.log
stdout_logfile=/home/ubuntu/lokole/logs/lokole_gunicorn.stdout.log stdout_logfile={{ lokole_log_dir }}/lokole_gunicorn.stdout.log
user=ubuntu user={{ lokole_user }}
environment=OPWEN_SETTINGS=/home/ubuntu/lokole/state/settings.env environment=OPWEN_SETTINGS={{ lokole_run_dir }}/settings.env

View file

@ -1,10 +1,10 @@
[program:lokole_restarter] [program:lokole_restarter]
command="/home/ubuntu/lokole/venv/bin/manage.py" restarter --directory="/home/ubuntu/lokole/state/lokole_restarter" command="{{ lokole_venv }}/bin/manage.py" restarter --directory="{{ lokole_run_dir }}/lokole_restarter"
autostart=true autostart=true
autorestart=true autorestart=true
startretries=3 startretries=3
stopasgroup=true stopasgroup=true
stderr_logfile=/home/ubuntu/lokole/logs/lokole_restarter.stderr.log stderr_logfile={{ lokole_log_dir }}/lokole_restarter.stderr.log
stdout_logfile=/home/ubuntu/lokole/logs/lokole_restarter.stdout.log stdout_logfile={{ lokole_log_dir }}/lokole_restarter.stdout.log
user=root user=root
environment= environment=