Initial commit

This commit is contained in:
Sonny Bakker 2020-11-07 21:52:02 +01:00
commit 5fe082b8f6
33 changed files with 1177 additions and 0 deletions

View file

@ -0,0 +1,138 @@
- name: create sites dir
file:
path: /srv/sites
state: directory
owner: root
group: root
mode: 0755
- name: create project dir
file:
path: "{{ app_dir }}"
state: directory
owner: "{{ app_user }}"
group: "{{ app_user }}"
mode: 0755
- name: clone project
become_user: "{{ app_user }}"
git:
repo: "https://git.fudiggity.nl/sonny/newsreader.git"
dest: "{{ app_dir }}"
version: "{{ app_branch }}"
update: yes
force: yes
notify:
- install npm packages
- build static files
- run migrations
- collect static files
- name: include poetry tasks
include_role:
name: common
tasks_from: "poetry.yml"
vars:
poetry_user: "{{ app_user }}"
poetry_dir: "/home/{{ app_user }}/.poetry"
- name: run poetry tasks
block:
- name: retrieve user $PATH
shell: "echo $PATH"
become_user: "{{ app_user }}"
register: path_stats
- name: set poetry user variables
set_fact:
poetry_user_path: "{{ path_stats.stdout }}"
- name: set default venv python version
become_user: "{{ app_user }}"
command: "poetry env use python3.7"
args:
chdir: "{{ app_dir }}"
environment:
PATH: "/home/{{ app_user }}/.local/bin:{{ poetry_user_path }}"
- name: install project dependencies
become_user: "{{ app_user }}"
command: "poetry install" # noqa 301
args:
chdir: "{{ app_dir }}"
environment:
PATH: "/home/{{ app_user }}/.local/bin:{{ poetry_user_path }}"
- name: setup env file
template:
src: "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: "gunicorn-socket.j2",
dest: "/etc/systemd/system/gunicorn.socket",
"mode": "0644",
}
- {
src: "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: "celery.j2",
dest: "/etc/systemd/system/celery.service",
"mode": "0644",
}
- {
src: "celerybeat.j2",
dest: "/etc/systemd/system/celerybeat.service",
"mode": "0644",
}
- {
src: "celery.env.j2",
dest: "/home/newsreader/.config/conf.d/celery",
"mode": "0640",
}
notify:
- restart celery
- restart celerybeat