This repository has been archived on 2025-04-27. You can view files and clone it, but you cannot make any changes to it's state, such as pushing and creating new issues, pull requests or comments.
newsreader-ansible/tasks/project.yml

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