diff --git a/site-cookbooks/kosmos-mastodon/recipes/default.rb b/site-cookbooks/kosmos-mastodon/recipes/default.rb index 7b4dd57..ffb6b92 100644 --- a/site-cookbooks/kosmos-mastodon/recipes/default.rb +++ b/site-cookbooks/kosmos-mastodon/recipes/default.rb @@ -265,6 +265,44 @@ service "mastodon-streaming" do action [:enable, :start] end +# +# Delete cached remote media older than 30 days +# Will be re-fetched if necessary +# + +systemd_unit 'mastodon-delete-old-media-cache.service' do + content({ + Unit: { + Description: 'Delete old Mastodon media cache' + }, + Service: { + Type: "oneshot", + WorkingDirectory: mastodon_path, + Environment: "RAILS_ENV=#{rails_env}", + ExecStart: "#{bundle_path} exec bin/tootctl media remove --days 30", + } + }) + triggers_reload true + action [:create] +end + +systemd_unit 'mastodon-delete-old-media-cache.timer' do + content({ + Unit: { + Description: 'Delete old Mastodon media cache' + }, + Timer: { + OnCalendar: '*-*-* 00:00:00', + Persistent: 'true' + }, + Install: { + WantedBy: 'timer.target' + } + }) + triggers_reload true + action [:create, :enable, :start] +end + firewall_rule "mastodon_app" do port node['kosmos-mastodon']['app_port'] source "10.1.1.0/24"