4 Commits

Author SHA1 Message Date
369c2ec692 Bump version to v4.6.8 2026-09-15 21:19:47 +03:00
5cd9835a43 Remove leftovers after quadlet migration 2026-09-15 21:19:26 +03:00
f53608fbb4 Add crude DB backups 2026-09-15 21:18:49 +03:00
b9b855928c Merge pull request 'upgrade' (#4) from upgrade into master
Reviewed-on: #4
2026-07-30 20:43:08 +03:00
5 changed files with 49 additions and 25 deletions

1
.gitignore vendored
View File

@@ -1,2 +1,3 @@
ansible-navigator.log
collections/
backups/

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -7,3 +7,6 @@ mastodon_local_dirs:
- "~/mastodon/redis"
- "~/mastodon/elasticsearch"
- "~/mastodon/system"
- "~/backups"
mastodon_local_backup_dir: "{{ playbook_dir }}/backups"