101 lines
2.3 KiB
YAML
101 lines
2.3 KiB
YAML
- name: install npm packages
|
|
become_user: '{{ app_user }}'
|
|
command: /usr/bin/npm install
|
|
args:
|
|
chdir: '{{ app_dir }}'
|
|
|
|
- name: build static files
|
|
become_user: '{{ app_user }}'
|
|
command: /usr/bin/npm run build:prod
|
|
args:
|
|
chdir: '{{ app_dir }}'
|
|
|
|
- name: run migrations
|
|
become_user: '{{ app_user }}'
|
|
django_manage:
|
|
command: migrate
|
|
app_path: '{{ app_dir }}/src/'
|
|
virtualenv: '{{ app_dir }}/.venv'
|
|
settings: 'newsreader.conf.production'
|
|
|
|
- name: collect static files
|
|
become_user: '{{ app_user }}'
|
|
django_manage:
|
|
command: collectstatic
|
|
app_path: '{{ app_dir }}/src/'
|
|
virtualenv: '{{ app_dir }}/.venv'
|
|
settings: 'newsreader.conf.production'
|
|
|
|
- name: setup env file
|
|
template:
|
|
src: 'templates/env.j2'
|
|
dest: '{{ app_dir }}/.env'
|
|
owner: '{{ app_user }}'
|
|
group: '{{ app_user }}'
|
|
mode: 0600
|
|
|
|
- name: setup gunicorn service
|
|
template:
|
|
src: '{{ item.src }}'
|
|
dest: '{{ item.dest }}'
|
|
owner: root
|
|
group: root
|
|
mode: '{{ item.mode }}'
|
|
loop:
|
|
- {
|
|
src: 'templates/gunicorn-socket.j2',
|
|
dest: '/etc/systemd/system/gunicorn.socket',
|
|
'mode': '0644',
|
|
}
|
|
- {
|
|
src: 'templates/gunicorn.j2',
|
|
dest: '/etc/systemd/system/gunicorn.service',
|
|
'mode': '0644',
|
|
}
|
|
notify:
|
|
- restart gunicorn socket
|
|
- stop gunicorn service
|
|
|
|
- name: create conf dir
|
|
become_user: '{{ app_user }}'
|
|
file:
|
|
path: '/home/{{ app_user }}/.config/conf.d'
|
|
state: directory
|
|
owner: '{{ app_user }}'
|
|
group: '{{ app_user }}'
|
|
mode: 0750
|
|
|
|
- name: create celery run dir
|
|
file:
|
|
path: /run/celery
|
|
state: directory
|
|
owner: '{{ app_user }}'
|
|
group: '{{ app_user }}'
|
|
mode: 0755
|
|
|
|
- name: copy celery config
|
|
template:
|
|
src: '{{ item.src }}'
|
|
dest: '{{ item.dest }}'
|
|
owner: '{{ app_user }}'
|
|
group: '{{ app_user }}'
|
|
mode: '{{ item.mode }}'
|
|
loop:
|
|
- {
|
|
src: 'templates/celery.j2',
|
|
dest: '/etc/systemd/system/celery.service',
|
|
'mode': '0644',
|
|
}
|
|
- {
|
|
src: 'templates/celerybeat.j2',
|
|
dest: '/etc/systemd/system/celerybeat.service',
|
|
'mode': '0644',
|
|
}
|
|
- {
|
|
src: 'templates/celery.env.j2',
|
|
dest: '/home/newsreader/.config/conf.d/celery',
|
|
'mode': '0640',
|
|
}
|
|
notify:
|
|
- restart celery
|
|
- restart celerybeat
|