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:trueDO_MEDIA_REMOVE, boolean, run or not media remove step, default:trueDO_STATUSES_REMOVE, boolean, run or not statuses remove step, default:trueDO_CACHE_RECOUNT, boolean, run or not cache recount step, default:trueTOOTCTL, string, path to tootctl binary, default:/home/mastodon/live/bin/tootctlDB_POOL, integer, concurrency to use (connections to PostgreSQL), default:5DRY_RUN, boolean, run or not in dry-run mode, default:trueTLS_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:30MEDIA_REMOVE_DAYS, integer, how old in days media attachments have to be before getting removed, default:7CARDS_REMOVE_DAYS, integer, how old in days cards previews have to be before getting removed, default:15STATUSES_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
