Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/codl/forget
Continuous post deletion for twitter, mastodon, and misskey
https://github.com/codl/forget
mastodon twitter
Last synced: about 1 month ago
JSON representation
Continuous post deletion for twitter, mastodon, and misskey
- Host: GitHub
- URL: https://github.com/codl/forget
- Owner: codl
- License: isc
- Archived: true
- Created: 2017-08-03T09:21:08.000Z (over 7 years ago)
- Default Branch: master
- Last Pushed: 2022-11-22T10:10:35.000Z (almost 2 years ago)
- Last Synced: 2024-04-13T21:33:21.986Z (7 months ago)
- Topics: mastodon, twitter
- Language: Python
- Homepage: https://forget.codl.fr/
- Size: 8.26 MB
- Stars: 147
- Watchers: 5
- Forks: 8
- Open Issues: 37
-
Metadata Files:
- Readme: README.markdown
- Changelog: CHANGELOG.markdown
- Funding: .github/FUNDING.yml
- License: LICENSE
Awesome Lists containing this project
README
![Forget](assets/promo.gif)
![Maintenance status](https://img.shields.io/maintenance/no/2022.svg)
[![Build status](https://img.shields.io/travis/codl/forget.svg)](https://travis-ci.org/codl/forget/)
[![Test coverage](https://img.shields.io/codecov/c/github/codl/forget.svg)](https://codecov.io/gh/codl/forget)Forget is a post deleting service for Twitter, Mastodon, and Misskey.
## Features
* Delete your posts when they cross an age threshold.
* Or keep your post count in check, deleting old posts when you go over.
* Preserve old posts that matter by giving them a favourite or a reaction.
* Set it and forget it. Forget works continuously in the background.## Non-features
Forget is not a one-time purging tool. It is designed to prune your account
continuously, not quickly. If you need a lot of posts gone fast, you may want
to look for another more-suited tool.## Running your own
### Requirements
* Postgresql
* Redis
* Python 3.6+
* Node.js 10+### Set up venv
Setting up a venv will isolate Forget from your system's libraries and allow you to install
dependencies locally as a normal user. It's not necessary but it is recommended!```
$ python -m venv venv
$ source venv/bin/activate
```If you're using `zsh` or `fish` as a shell, substitute `venv/bin/activate` with
`venv/bin/activate.zsh` or `venv/bin/activate.fish`, respectively.You will need to "activate" the venv in every new terminal before you can use
pip or any python tools included in dependencies (honcho, flask...)### Download and install dependencies
```
$ pip install -r requirements.txt
$ npm install
```Wow!! Exciting
### Create and complete config file
Gotta set up those, paths, and stuff.
```
$ cp config.example.py config.py
$ $EDITOR config.py
```### Set up database schema
If you haven't started postgresql yet now would be a great time to do that.
```
$ createdb forget # if you havent created the DB yet
$ env FLASK_APP=forget.py flask db upgrade
```### Build static assets
Gonna do it...!
```
$ doit
```Done did it.
### Running
The included `Procfile` will run the app server and the background worker.
`honcho`, a `Procfile` runner, is included as a dependency:```
$ honcho start
```The application server will listen on `http://127.0.0.1:42157`.
You'll want to use your favourite web server to proxy traffic to it.### Development
For development, you may want to use `Procfile.dev`, which starts flask in
debug mode and rebuilds the static assets automatically when they change```
$ honcho -f Procfile.dev start
```Or you could just look at `Procfile.dev` and run those things manually. It's up
to you.You can run the (currently very incomplete) test suite by running `pytest`.
You'll need redis installed on your development machine, a temporary redis
server will be started and shut down automatically by the test suite.## Docker
This project is also able to be deployed through Docker.
1. Copy `config.docker.py` to `config.py` and add additional configurations to
your liking.
1. By default, the webapp container will be listening on `127.0.0.1:42157`,
which you can point a reverse proxy at.
* If your reverse proxy is in another docker network then you'll need a
`docker-compose.override.yml` file to attach the `www` service to the
right network and not publish any ports. An example override file is
provided. The web app will be listening on `http://forget-www-1:42157`.
1. By default, the `docker-compose.yml` creates relative mounts `./redis`,
`./postgres`, and `./celery` relative to the `docker-compose.yml` location.
An example `docker-compose.override.yml` file is provided that shows how to
change this.
1. Run `docker-compose build` to build the image.
1. Run `docker-compose up` to start or `docker-compose up -d` to start in the
background, and use `docker-compose down` to stop.## Contact
If you're having trouble with Forget, or if you're not having trouble but you
just want to tell me you like it, you can drop me a note at
[@[email protected]](https://chitter.xyz/@codl) or
[[email protected]](mailto:[email protected]).## Greetz
Thank you bea, for making ephemeral, inspiring me to make [limiter][], then this,
in an attempt to bring ephemeral with me everywhere. ☕[limiter]: https://github.com/codl/limiter
Thank you to the kind folks who have emailed me to tell me Forget has made their
time on social media less stressful. 🌻