parent
a83aac1968
commit
bb695a29f0
@ -0,0 +1,115 @@
|
||||
+++
|
||||
title = 'Mastodon snippets'
|
||||
summary = 'snip snip'
|
||||
date = '2023-03-05T12:39:35+0100'
|
||||
categories = ['computerstuff']
|
||||
tags = ['mastodon','server','linux','reminders']
|
||||
draft = true
|
||||
|
||||
+++
|
||||
|
||||
Very short und maybe a bit chaotic...
|
||||
|
||||
## clear media files
|
||||
|
||||
https://paste.opensuse.org/pastes/365542654a1e
|
||||
|
||||
|
||||
```bash
|
||||
#!/bin/bash
|
||||
export PATH="$HOME/.rbenv/bin:$PATH"
|
||||
eval "$(rbenv init -)"
|
||||
export RAILS_ENV=production
|
||||
|
||||
exec > /home/mastodon/live/log/prune.log 2>&1
|
||||
|
||||
/home/mastodon/live/bin/tootctl statuses remove
|
||||
/home/mastodon/live/bin/tootctl media remove --days=5
|
||||
/home/mastodon/live/bin/tootctl media remove --prune-profiles --days=60
|
||||
/home/mastodon/live/bin/tootctl preview_cards remove --days=15
|
||||
/home/mastodon/live/bin/tootctl media remove-orphans
|
||||
/home/mastodon/live/bin/tootctl cache clear
|
||||
/home/mastodon/live/bin/tootctl media usage
|
||||
date
|
||||
```
|
||||
|
||||
## further removal of profile pics
|
||||
|
||||
https://paste.opensuse.org/pastes/4ecbf69cdee7
|
||||
|
||||
```bash
|
||||
#!/usr/bin/env bash
|
||||
# Kept only the accounts compression and jpeg optimization
|
||||
|
||||
cd /home/mastodon/live/public/system/cache
|
||||
find -name '*.jpg' -print0 | xargs -0 jpegoptim --verbose --preserve --threshold=1 --max=45
|
||||
find -name '*.jpeg' -print0 | xargs -0 jpegoptim --verbose --preserve --threshold=1 --max=45
|
||||
|
||||
cd /home/mastodon/live/public/system/cache/accounts
|
||||
find -name '*.png' -print0 | xargs -0 pngquant --verbose --ext=.png --force --speed 10 --quality 45-50 --skip-if-larger
|
||||
```
|
||||
|
||||
## moar stuff in RAILS_ENV cnosole
|
||||
|
||||
https://github.com/mastodon/mastodon/issues/14681
|
||||
|
||||
There are several scripts executable with `RAILS_ENV=production bundle exec rails c`,
|
||||
for convenience laid out here with minor corrections. **Do not execute these
|
||||
without understanding what they do!**:
|
||||
|
||||
Deleting all cached media attachments from external servers to allow web app
|
||||
to refetch them when they are queried. At least on my instance this is reaaally
|
||||
slow, takes tens of seconds per attachment (is this the same as tootctl media
|
||||
remove?):
|
||||
|
||||
```ruby
|
||||
MediaAttachment.cached.where.not(remote_url: '').each do |attachment|
|
||||
attachment.file.destroy
|
||||
attachment.thumbnail.destroy
|
||||
attachment.save
|
||||
end
|
||||
```
|
||||
|
||||
Deleting and redownloading all cached remote emojis. This apparently has a
|
||||
problem that the local URLs for the cached emojis change, and the URLs aren't
|
||||
updated to the fetched profile headers. I suppose this should be done before
|
||||
the next steps, assuming the cached local emoji URLs are set up correctly to
|
||||
the profile headers and names at the time of fetching. This doesn't seem to
|
||||
work though, maybe tootctl emoji purge --remote-only would be better:
|
||||
|
||||
```ruby
|
||||
CustomEmoji.remote.where.not(image_file_name: nil).where.not(image_remote_url: '').each do |emoji|
|
||||
emoji.image.destroy
|
||||
emoji.image.save
|
||||
emoji.download_image!
|
||||
end
|
||||
```
|
||||
|
||||
Deleting all remote profile avatars, and refetching them. Are these two the
|
||||
same as tootctl accounts refresh --all?:
|
||||
|
||||
```ruby
|
||||
Account.remote.where.not(avatar_file_name: nil).where.not(avatar_remote_url: '').each do |a|
|
||||
a.avatar.destroy
|
||||
a.save
|
||||
a.download_avatar!
|
||||
end
|
||||
```
|
||||
|
||||
Deleting all remote profile headers, and refetching them. Hopefully this
|
||||
uses/updates the newly fetched local cached emoji URLs, and also includes the
|
||||
profile name as they often contain emojis:
|
||||
|
||||
```ruby
|
||||
Account.remote.where.not(header_file_name: nil).where.not(header_remote_url: '').each do |a|
|
||||
a.header.destroy
|
||||
a.save
|
||||
a.download_header!
|
||||
end
|
||||
```
|
||||
|
||||
It would be awesome to get tooling for these to tootctl. That said, I'm not
|
||||
entirely sure if destroying the entities is necessary before downloading them
|
||||
again, and perhaps we could use remove_entity_cache instead. I'm not very well
|
||||
acquainted with the codebase.
|
||||
|
Loading…
Reference in new issue