Some fixes for ansible.

- Also updating the nginx template
- Updating deploy.sh
This commit is contained in:
Dessalines 2019-09-02 10:37:30 -07:00
parent 03f879925e
commit 44f01669a2
3 changed files with 15 additions and 1 deletions

10
ansible/lemmy.yml vendored
View file

@ -6,6 +6,7 @@
gather_facts: False gather_facts: False
pre_tasks: pre_tasks:
- name: install python for Ansible - name: install python for Ansible
become: true
raw: test -e /usr/bin/python || (apt -y update && apt install -y python-minimal python-setuptools) raw: test -e /usr/bin/python || (apt -y update && apt install -y python-minimal python-setuptools)
args: args:
executable: /bin/bash executable: /bin/bash
@ -15,21 +16,25 @@
tasks: tasks:
- name: install dependencies - name: install dependencies
become: true
apt: apt:
pkg: ['nginx', 'docker-compose', 'docker.io', 'certbot', 'python-certbot-nginx'] pkg: ['nginx', 'docker-compose', 'docker.io', 'certbot', 'python-certbot-nginx']
- name: request initial letsencrypt certificate - name: request initial letsencrypt certificate
become: true
command: certbot certonly --nginx --agree-tos -d '{{ domain }}' -m '{{ letsencrypt_contact_email }}' command: certbot certonly --nginx --agree-tos -d '{{ domain }}' -m '{{ letsencrypt_contact_email }}'
args: args:
creates: '/etc/letsencrypt/live/{{domain}}/privkey.pem' creates: '/etc/letsencrypt/live/{{domain}}/privkey.pem'
- name: create lemmy folder - name: create lemmy folder
become: true
file: path={{item.path}} state=directory file: path={{item.path}} state=directory
with_items: with_items:
- { path: '/lemmy/' } - { path: '/lemmy/' }
- { path: '/lemmy/volumes/' } - { path: '/lemmy/volumes/' }
- name: add all template files - name: add all template files
become: true
template: src={{item.src}} dest={{item.dest}} template: src={{item.src}} dest={{item.dest}}
with_items: with_items:
- { src: 'templates/env', dest: '/lemmy/.env' } - { src: 'templates/env', dest: '/lemmy/.env' }
@ -40,6 +45,7 @@
jwt_password: "{{ lookup('password', 'passwords/{{ inventory_hostname }}/jwt chars=ascii_letters,digits') }}" jwt_password: "{{ lookup('password', 'passwords/{{ inventory_hostname }}/jwt chars=ascii_letters,digits') }}"
- name: set env file permissions - name: set env file permissions
become: true
file: file:
path: "/lemmy/.env" path: "/lemmy/.env"
state: touch state: touch
@ -48,21 +54,25 @@
modification_time: preserve modification_time: preserve
- name: enable and start docker service - name: enable and start docker service
become: true
systemd: systemd:
name: docker name: docker
enabled: yes enabled: yes
state: started state: started
- name: start docker-compose - name: start docker-compose
become: true
docker_compose: docker_compose:
project_src: /lemmy/ project_src: /lemmy/
state: present state: present
pull: yes pull: yes
- name: reload nginx with new config - name: reload nginx with new config
become: true
shell: nginx -s reload shell: nginx -s reload
- name: certbot renewal cronjob - name: certbot renewal cronjob
become: true
cron: cron:
special_time=daily special_time=daily
name=certbot-renew-lemmy name=certbot-renew-lemmy

View file

@ -47,7 +47,7 @@ server {
add_header X-XSS-Protection "1; mode=block"; add_header X-XSS-Protection "1; mode=block";
location / { location / {
rewrite (\/(user|u\/|inbox|post|community|c\/|login|search|sponsors|communities|modlog|home)+) /static/index.html break; rewrite (\/(user|u\/|inbox|post|community|c\/|create_post|create_community|login|search|setup|sponsors|communities|modlog|home)+) /static/index.html break;
proxy_pass http://0.0.0.0:8536; proxy_pass http://0.0.0.0:8536;
proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Real-IP $remote_addr;
proxy_set_header Host $host; proxy_set_header Host $host;

View file

@ -25,3 +25,7 @@ git push
./docker_update.sh ./docker_update.sh
docker tag dev_lemmy:latest dessalines/lemmy:$new_tag docker tag dev_lemmy:latest dessalines/lemmy:$new_tag
docker push dessalines/lemmy:$new_tag docker push dessalines/lemmy:$new_tag
# Pushing to any ansible deploys
cd ../../ansible
ansible-playbook lemmy.yml