Servizio per cancellare i messaggi quando superano una certa età. Limita l'account ad un numero massimo di post, cancellando quelli più vecchi. Conserva i vecchi post che contano con un favorito. Imposta e dimentica https://mastodon.uno
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 
codl 50ba3dfaa0
Delete dependabot.yml
2 months ago
.github Delete dependabot.yml 2 months ago
assets remove method to upgrade known instances from cookie to localstorage 9 months ago
components disable archives 3 years ago
data lots of docker nitpicks 4 months ago
libforget add permission to read reactions 9 months ago
migrations fix migration 9 months ago
routes Merge branch 'feature/instance-hidelist' 9 months ago
static whoops icon.png stayed in static/ 5 years ago
templates fix logged in template 9 months ago
test tests & github actions: replace pytest-redis with local redis 9 months ago
tools fix post-receive hook again. dumbass 5 years ago
.codecov.yml set up .codecov.yml to ignore version.py and also shut up in PRs 5 years ago
.coveragerc test libbrotli 5 years ago
.dockerignore docker: add .git 4 months ago
.env store fav/reblog count. first step towards #7 5 years ago
.eslintrc.yml eslint 5 years ago
.gitattributes replace messy version stuff with versioneer 5 years ago
.gitignore lots of docker nitpicks 4 months ago
CHANGELOG.markdown release v2.2.0 4 months ago
Dockerfile docker: cache pip http cache only, not wheel cache 3 months ago
LICENSE add license 5 years ago
MANIFEST.in replace messy version stuff with versioneer 5 years ago
Pipfile tests & github actions: replace pytest-redis with local redis 9 months ago
Pipfile.lock tests & github actions: replace pytest-redis with local redis 9 months ago
Procfile set celery to autoscale from 8 to 64 processes 5 years ago
Procfile.dev Update requirements (#35) 5 years ago
README.markdown Update README.markdown 2 months ago
app.py add proxyfix 2 years ago
config.docker.py lots of docker nitpicks 4 months ago
config.example.py add instance hidelist 9 months ago
docker-compose.override.example.yml lots of docker nitpicks 4 months ago
docker-compose.yml docker-compose: use image from ghcr 4 months ago
dodo.py add misskey icon 1 year ago
forget.example.service add example systemd service file 5 years ago
forget.py split off routes.py 5 years ago
model.py remove fk from fetch_current_batch_end_id 9 months ago
package-lock.json deps update 9 months ago
package.json Bump rollup from 2.41.5 to 2.42.4 2 years ago
requirements-dev.txt tests & github actions: replace pytest-redis with local redis 9 months ago
requirements.txt tests & github actions: replace pytest-redis with local redis 9 months ago
rollup.config.js fix svelte compile 2 years ago
setup.cfg replace messy version stuff with versioneer 5 years ago
setup.py replace messy version stuff with versioneer 5 years ago
tasks.py fix deps 9 months ago
version.py update versioneer 9 months ago
versioneer.py update versioneer 9 months ago

README.markdown

Forget

Maintenance status

Build status Test coverage

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.
  2. 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.
  3. 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.
  4. Run docker-compose build to build the image.
  5. 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 @codl@chitter.xyz or codl@codl.fr.

Greetz

Thank you bea, for making ephemeral, inspiring me to make limiter, then this, in an attempt to bring ephemeral with me everywhere.

Thank you to the kind folks who have emailed me to tell me Forget has made their time on social media less stressful. 🌻