Toot(h)paste is a simple bash script to clean your Mastodon instance.
CHANGELOG.md | ||
LICENSE | ||
logo.png | ||
logo.xcf | ||
README.md | ||
tootpaste.sh |
tootpaste
Toot(h)paste is a simple bash script to clean your Mastodon instance.
It is basically a wrapper around tootctl
but add some more logic, especially
around accounts cull
to detect instances in errors and purge them (expired
certificate, cannot connect, etc.)
How to install
$ wget https://git.benpro.fr/benoit/tootpaste/raw/branch/main/tootpaste.sh \
-O /tmp/tootpaste.sh
$ sudo install -m 755 -o root -g root /tmp/tootpaste.sh /usr/local/bin/tootpaste
How to use
By default it runs in dry-run mode. To run without dry-run:
$ DRY_RUN=false tootpaste
Parameters
There are no arguments, everything is managed by environment variables, here is the list of what you can use:
DO_ACCOUNTS_CULL
, boolean, run or not accounts cull step, default:true
DO_MEDIA_REMOVE
, boolean, run or not media remove step, default:true
DO_STATUSES_REMOVE
, boolean, run or not statuses remove step, default:true
DO_CACHE_RECOUNT
, boolean, run or not cache recount step, default:true
TOOTCTL
, string, path to tootctl binary, default:/home/mastodon/live/bin/tootctl
DB_POOL
, integer, concurrency to use (connections to PostgreSQL), default:5
DRY_RUN
, boolean, run or not in dry-run mode, default:true
TLS_EXPIRED_MAX_SEC
, integer, number of seconds, age difference between now and date of expired certificate, default:1210000
, 2wINSTANCE_LAST_CHANCE_TIMEOUT
, integer, timeout in seconds to connect to an instance that was previously not accessible, default:30
MEDIA_REMOVE_DAYS
, integer, how old in days media attachments have to be before getting removed, default:7
CARDS_REMOVE_DAYS
, integer, how old in days cards previews have to be before getting removed, default:15
STATUSES_REMOVE_DAYS
, integer, how old in days unreferenced statuses have to be before getting removed, default:30
Example:
$ DRY_RUN=false DO_CACHE_RECOUNT=false DB_POOL=50 tootpaste