Compare commits
4 Commits
upgrade
...
369c2ec692
| Author | SHA1 | Date | |
|---|---|---|---|
| 369c2ec692 | |||
| 5cd9835a43 | |||
| f53608fbb4 | |||
| b9b855928c |
1
.gitignore
vendored
1
.gitignore
vendored
@@ -1,2 +1,3 @@
|
||||
ansible-navigator.log
|
||||
collections/
|
||||
backups/
|
||||
|
||||
@@ -26,29 +26,6 @@
|
||||
ansible.builtin.include_vars:
|
||||
file: smtp.yml
|
||||
|
||||
- name: Stop legacy generated services
|
||||
ansible.builtin.systemd_service:
|
||||
name: "{{ item }}"
|
||||
state: stopped
|
||||
enabled: false
|
||||
scope: user
|
||||
failed_when: false
|
||||
loop:
|
||||
- container-database.service
|
||||
- container-redis.service
|
||||
- container-mastodon.service
|
||||
- container-sidekiq.service
|
||||
|
||||
- name: Remove legacy generated service files
|
||||
ansible.builtin.file:
|
||||
path: "~/.config/systemd/user/{{ item }}"
|
||||
state: absent
|
||||
loop:
|
||||
- container-database.service
|
||||
- container-redis.service
|
||||
- container-mastodon.service
|
||||
- container-sidekiq.service
|
||||
|
||||
- name: Stage mastodon network quadlets
|
||||
ansible.builtin.copy:
|
||||
src: "{{ item }}"
|
||||
@@ -71,6 +48,47 @@
|
||||
- name: Install database quadlet
|
||||
ansible.builtin.include_tasks: db.yml
|
||||
|
||||
- name: Schedule postgres database backup
|
||||
ansible.builtin.cron:
|
||||
name: "Backup mastodon postgres database"
|
||||
minute: "0"
|
||||
hour: "3"
|
||||
job: >-
|
||||
podman exec database pg_dump -U {{ mastodon_database.username }} mastodon
|
||||
| gzip > ~/backups/mastodon-$(date +\%Y\%m\%d\%H\%M\%S).sql.gz &&
|
||||
find ~/backups/ -type f -mtime 7 -delete
|
||||
|
||||
- name: Find backup files
|
||||
ansible.builtin.find:
|
||||
paths: "~/backups"
|
||||
patterns: "mastodon-*.sql.gz"
|
||||
register: mastodon_backup_files
|
||||
tags:
|
||||
- backup
|
||||
|
||||
- name: Identify latest backup file
|
||||
ansible.builtin.set_fact:
|
||||
mastodon_latest_backup: "{{ (mastodon_backup_files.files | sort(attribute='mtime') | last).path }}"
|
||||
tags:
|
||||
- backup
|
||||
|
||||
- name: Ensure local backup directory exists
|
||||
ansible.builtin.file:
|
||||
path: "{{ mastodon_local_backup_dir }}"
|
||||
state: directory
|
||||
delegate_to: localhost
|
||||
become: false
|
||||
tags:
|
||||
- backup
|
||||
|
||||
- name: Download latest backup file to local machine
|
||||
ansible.builtin.fetch:
|
||||
src: "{{ mastodon_latest_backup }}"
|
||||
dest: "{{ mastodon_local_backup_dir }}/{{ mastodon_latest_backup | basename }}"
|
||||
flat: true
|
||||
tags:
|
||||
- backup
|
||||
|
||||
- name: Install redis quadlet
|
||||
ansible.builtin.include_tasks: redis.yml
|
||||
|
||||
@@ -87,6 +105,8 @@
|
||||
ansible.builtin.file:
|
||||
path: "{{ mastodon_quadlet_tmp.path }}"
|
||||
state: absent
|
||||
tags:
|
||||
- never
|
||||
|
||||
- name: Flush handlers so unit changes are reloaded before activation
|
||||
ansible.builtin.meta: flush_handlers
|
||||
|
||||
@@ -5,7 +5,7 @@ Requires=database.service redis.service elasticsearch.service
|
||||
|
||||
[Container]
|
||||
ContainerName=mastodon
|
||||
Image=ghcr.io/mastodon/mastodon:v4.6.4
|
||||
Image=ghcr.io/mastodon/mastodon:v4.6.8
|
||||
Exec=bundle exec puma -C config/puma.rb
|
||||
Network=mastodon_internal.network
|
||||
Network=podman
|
||||
|
||||
@@ -5,7 +5,7 @@ Requires=database.service redis.service elasticsearch.service
|
||||
|
||||
[Container]
|
||||
ContainerName=sidekiq
|
||||
Image=ghcr.io/mastodon/mastodon:v4.6.4
|
||||
Image=ghcr.io/mastodon/mastodon:v4.6.8
|
||||
Exec=bundle exec sidekiq
|
||||
Network=mastodon_internal.network
|
||||
Environment=LOCAL_DOMAIN=wtf.lt
|
||||
|
||||
@@ -7,3 +7,6 @@ mastodon_local_dirs:
|
||||
- "~/mastodon/redis"
|
||||
- "~/mastodon/elasticsearch"
|
||||
- "~/mastodon/system"
|
||||
- "~/backups"
|
||||
|
||||
mastodon_local_backup_dir: "{{ playbook_dir }}/backups"
|
||||
|
||||
Reference in New Issue
Block a user