Refactor the playbook to support multiple roles per host nicely
This commit is contained in:
@@ -7,41 +7,55 @@
|
||||
state: directory
|
||||
owner: www-data
|
||||
group: www-data
|
||||
tags:
|
||||
- install
|
||||
|
||||
- name: Install nginx site cdn
|
||||
- name: Configure nginx site cdn
|
||||
template:
|
||||
src: cdn.j2
|
||||
dest: /etc/nginx/sites-available/cdn
|
||||
notify: restart nginx
|
||||
tags:
|
||||
- configure
|
||||
|
||||
- name: Install nginx mastodon config
|
||||
- name: Configure nginx mastodon config
|
||||
template:
|
||||
src: mastodon.j2
|
||||
dest: /etc/nginx/sites-available/mastodon
|
||||
notify: restart nginx
|
||||
tags:
|
||||
- configure
|
||||
|
||||
- name: Enable cdn
|
||||
file:
|
||||
src: /etc/nginx/sites-available/cdn
|
||||
dest: /etc/nginx/sites-enabled/cdn
|
||||
state: link
|
||||
tags:
|
||||
- install
|
||||
|
||||
- name: Enable mastodon
|
||||
file:
|
||||
src: /etc/nginx/sites-available/mastodon
|
||||
dest: /etc/nginx/sites-enabled/mastodon
|
||||
state: link
|
||||
tags:
|
||||
- install
|
||||
|
||||
- name: Disable default
|
||||
file:
|
||||
path: /etc/nginx/sites-enabled/default
|
||||
state: absent
|
||||
tags:
|
||||
- install
|
||||
|
||||
- name: Copy dmca
|
||||
template:
|
||||
src: dmca
|
||||
dest: /etc/nginx/dmca
|
||||
notify: restart nginx
|
||||
tags:
|
||||
- install
|
||||
|
||||
- name: Prep SSL directory
|
||||
file:
|
||||
@@ -49,30 +63,41 @@
|
||||
state: directory
|
||||
owner: www-data
|
||||
group: www-data
|
||||
tags:
|
||||
- install
|
||||
|
||||
- name: Install mastodon domain SSL certificate
|
||||
template:
|
||||
src: domain.fullchain.pem
|
||||
dest: /etc/nginx/ssl/domain.fullchain.pem
|
||||
tags:
|
||||
- install
|
||||
|
||||
- name: Install mastodon domain ssl key
|
||||
template:
|
||||
src: domain.privkey.pem
|
||||
dest: /etc/nginx/ssl/domain.privkey.pem
|
||||
tags:
|
||||
- install
|
||||
|
||||
- name: Install mastodon CDN SSL certificate
|
||||
template:
|
||||
src: cdn.fullchain.pem
|
||||
dest: /etc/nginx/ssl/cdn.fullchain.pem
|
||||
tags:
|
||||
- install
|
||||
|
||||
- name: Install mastodon CDN ssl key
|
||||
template:
|
||||
src: cdn.privkey.pem
|
||||
dest: /etc/nginx/ssl/cdn.privkey.pem
|
||||
tags:
|
||||
- install
|
||||
|
||||
- name: Copy cloudflare
|
||||
template:
|
||||
src: cloudflare
|
||||
dest: /etc/nginx/cloudflare
|
||||
notify: restart nginx
|
||||
|
||||
tags:
|
||||
- install
|
||||
|
||||
@@ -0,0 +1,2 @@
|
||||
#!/bin/bash
|
||||
docker-compose $(ls /home/mastodon/live/docker-compose.*yml -1 | sort -r | awk '{printf "-f %s ", $1}') pull
|
||||
@@ -1,4 +1 @@
|
||||
---
|
||||
dependencies:
|
||||
- role: geerlingguy.docker
|
||||
- role: yttrx
|
||||
|
||||
@@ -5,6 +5,8 @@
|
||||
name: mastodon
|
||||
shell: /bin/bash
|
||||
group: docker
|
||||
tags:
|
||||
- install
|
||||
|
||||
- name: Check if mastodon repo checked out
|
||||
stat: path=/home/mastodon/live
|
||||
@@ -14,19 +16,25 @@
|
||||
when: not p.stat.exists
|
||||
|
||||
- name: Install statsd mapper
|
||||
template:
|
||||
src: statsd-mapping.yaml.j2
|
||||
copy:
|
||||
src: statsd-mapping.yaml
|
||||
dest: /root/statsd-mapping.yml
|
||||
tags:
|
||||
- install
|
||||
|
||||
- name: Install .env.production file
|
||||
template:
|
||||
src: env.production.j2
|
||||
dest: /home/mastodon/live/.env.production
|
||||
tags:
|
||||
- configure
|
||||
|
||||
- name: Install docker-compose.sh file
|
||||
template:
|
||||
src: docker-compose.sh.j2
|
||||
copy:
|
||||
src: docker-compose.sh
|
||||
dest: /usr/local/bin/docker-compose.sh
|
||||
tags:
|
||||
- install
|
||||
|
||||
- name: Set permissions of docker-compose.sh
|
||||
file:
|
||||
@@ -37,12 +45,16 @@
|
||||
template:
|
||||
src: docker-compose.yml.j2
|
||||
dest: /home/mastodon/live/docker-compose.yml
|
||||
tags:
|
||||
- configure
|
||||
notify: "docker-compose up"
|
||||
|
||||
- name: Install feed rebuild script
|
||||
template:
|
||||
src: feeds-build.sh.j2
|
||||
dest: /usr/local/bin/feeds-build.sh
|
||||
tags:
|
||||
- install
|
||||
|
||||
- name: Set permission of feeds-build.sh
|
||||
file:
|
||||
@@ -54,4 +66,4 @@
|
||||
when: RUN_REDIS is defined and RUN_REDIS
|
||||
|
||||
- import_tasks: maintenance.yml
|
||||
when: ansible_hostname == MAINTENANCE_HOST
|
||||
when: RUN_CRONS is defined and RUN_CRONS
|
||||
|
||||
@@ -1,8 +1,19 @@
|
||||
---
|
||||
- name: Install storage trimmer
|
||||
template:
|
||||
src: trim_storage.sh.j2
|
||||
copy:
|
||||
src: trim_storage.sh
|
||||
dest: /usr/local/bin/trim_storage.sh
|
||||
tags:
|
||||
- install
|
||||
register: trim_storage
|
||||
|
||||
- name: Set permissions on trim_storage.sh
|
||||
file:
|
||||
path: /usr/local/bin/trim_storage.sh
|
||||
mode: '0755'
|
||||
tags:
|
||||
- install
|
||||
when: trim_storage.changed
|
||||
|
||||
- name: Create cronjob for trimming storage
|
||||
ansible.builtin.cron:
|
||||
@@ -10,3 +21,21 @@
|
||||
job: /usr/local/bin/trim_storage.sh
|
||||
minute: "0"
|
||||
hour: "*/6"
|
||||
tags:
|
||||
- configure
|
||||
|
||||
- name: Install image puller
|
||||
copy:
|
||||
src: pull-images.sh
|
||||
dest: /usr/local/bin/pull-images.sh
|
||||
tags:
|
||||
- install
|
||||
register: pull_images
|
||||
|
||||
- name: Set permissions on pull-images.sh
|
||||
file:
|
||||
path: /usr/local/bin/pull-images.sh
|
||||
mode: '0755'
|
||||
tags:
|
||||
- install
|
||||
when: pull_images.changed
|
||||
|
||||
@@ -2,17 +2,26 @@
|
||||
sysctl:
|
||||
name: vm.overcommit_memory
|
||||
value: '1'
|
||||
tags:
|
||||
- redis
|
||||
|
||||
- name: Install system redis
|
||||
package:
|
||||
name: redis-server
|
||||
state: present
|
||||
tags:
|
||||
- install
|
||||
- redis
|
||||
|
||||
- name: Set redis.conf
|
||||
copy:
|
||||
dest: /etc/redis/redis.conf
|
||||
src: redis-6.conf
|
||||
register: service_conf
|
||||
tags:
|
||||
- install
|
||||
- configure
|
||||
- redis
|
||||
|
||||
- name: Restart redis
|
||||
service:
|
||||
|
||||
@@ -4,4 +4,3 @@
|
||||
repo: https://github.com/mastodon/mastodon.git
|
||||
dest: /home/mastodon/live
|
||||
version: "{{ MASTODON_VERSION }}"
|
||||
|
||||
|
||||
@@ -1,3 +1 @@
|
||||
---
|
||||
dependencies:
|
||||
- role: mastodon
|
||||
|
||||
@@ -1,6 +1,9 @@
|
||||
---
|
||||
- name: Configure docker-compose.override.yml
|
||||
template:
|
||||
src: docker-compose.override.yml.j2
|
||||
src: docker-compose.sidekiq.yml.j2
|
||||
dest: /home/mastodon/live/docker-compose.sidekiq.yml
|
||||
notify: "docker-compose up"
|
||||
tags:
|
||||
- configure
|
||||
- sidekiq
|
||||
|
||||
@@ -1,4 +1 @@
|
||||
---
|
||||
dependencies:
|
||||
- role: geerlingguy.nginx
|
||||
- role: mastodon
|
||||
|
||||
@@ -4,3 +4,6 @@
|
||||
src: docker-compose.override.yml.j2
|
||||
dest: /home/mastodon/live/docker-compose.webapp.yml
|
||||
notify: "docker-compose up"
|
||||
tags:
|
||||
- configure
|
||||
- webapp
|
||||
|
||||
Reference in New Issue
Block a user