2019-02-25 01:45:36 +01:00
|
|
|
[![Forget](assets/promo.gif)](https://forget.codl.fr)
|
2017-08-07 22:35:57 +02:00
|
|
|
|
2017-09-07 00:34:54 +02:00
|
|
|
![User count](https://forget.codl.fr/api/badge/users)
|
2020-01-03 01:03:14 +01:00
|
|
|
![Maintenance status](https://img.shields.io/maintenance/yes/2020.svg)
|
2017-09-08 23:38:55 +02:00
|
|
|
|
|
|
|
[![Build status](https://img.shields.io/travis/codl/forget.svg)](https://travis-ci.org/codl/forget/)
|
2017-11-25 00:54:56 +01:00
|
|
|
[![Test coverage](https://img.shields.io/codecov/c/github/codl/forget.svg)](https://codecov.io/gh/codl/forget)
|
2017-09-07 00:34:54 +02:00
|
|
|
[![Code quality](https://img.shields.io/codacy/grade/1780ac6071c04cbd9ccf75de0891e798.svg)](https://www.codacy.com/app/codl/forget?utm_source=github.com&utm_medium=referral&utm_content=codl/forget&utm_campaign=badger)
|
2017-08-29 18:46:57 +02:00
|
|
|
|
2018-04-25 09:12:14 +02:00
|
|
|
Forget is a post deleting service for Twitter and Mastodon. It lives at
|
|
|
|
<https://forget.codl.fr>.
|
2017-08-31 23:51:59 +02:00
|
|
|
|
|
|
|
|
|
|
|
## Running your own
|
|
|
|
|
|
|
|
### Requirements
|
|
|
|
|
|
|
|
* Postgresql
|
|
|
|
* Redis
|
|
|
|
* Python 3.6+
|
2020-06-01 13:31:42 +02:00
|
|
|
* Node.js 10+
|
2017-08-07 22:35:57 +02:00
|
|
|
|
|
|
|
|
2017-08-31 23:51:59 +02:00
|
|
|
### Set up venv
|
2017-08-07 22:35:57 +02:00
|
|
|
|
2017-08-31 23:51:59 +02:00
|
|
|
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!
|
2017-08-10 17:26:36 +02:00
|
|
|
|
2017-08-07 22:35:57 +02:00
|
|
|
```
|
2017-08-31 23:51:59 +02:00
|
|
|
$ python -m venv venv
|
2017-08-07 22:35:57 +02:00
|
|
|
$ source venv/bin/activate
|
2017-08-31 23:51:59 +02:00
|
|
|
```
|
|
|
|
|
2018-04-25 09:12:14 +02:00
|
|
|
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.
|
2017-08-31 23:51:59 +02:00
|
|
|
|
2018-04-25 09:12:14 +02:00
|
|
|
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...)
|
2017-08-31 23:51:59 +02:00
|
|
|
|
|
|
|
### Download and install dependencies
|
2017-08-07 22:35:57 +02:00
|
|
|
|
2017-08-31 23:51:59 +02:00
|
|
|
```
|
2017-08-07 22:35:57 +02:00
|
|
|
$ pip install -r requirements.txt
|
2019-03-07 12:05:31 +01:00
|
|
|
$ npm install
|
2017-08-31 23:51:59 +02:00
|
|
|
```
|
|
|
|
|
|
|
|
Wow!! Exciting
|
|
|
|
|
|
|
|
### Create and complete config file
|
|
|
|
|
|
|
|
Gotta set up those, paths, and stuff.
|
|
|
|
|
|
|
|
```
|
2017-08-07 22:35:57 +02:00
|
|
|
$ cp config.example.py config.py
|
|
|
|
$ $EDITOR config.py
|
2017-08-31 23:51:59 +02:00
|
|
|
```
|
2017-08-07 22:35:57 +02:00
|
|
|
|
2017-08-31 23:51:59 +02:00
|
|
|
### 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
|
2017-08-08 15:40:28 +02:00
|
|
|
$ env FLASK_APP=forget.py flask db upgrade
|
2017-08-31 23:51:59 +02:00
|
|
|
```
|
|
|
|
|
|
|
|
### Build static assets
|
2017-08-08 15:40:28 +02:00
|
|
|
|
2017-08-31 23:51:59 +02:00
|
|
|
Gonna do it...!
|
|
|
|
|
|
|
|
```
|
2017-08-11 15:11:13 +02:00
|
|
|
$ doit
|
2017-08-31 23:51:59 +02:00
|
|
|
```
|
|
|
|
|
|
|
|
Done did it.
|
2017-08-11 15:11:13 +02:00
|
|
|
|
2017-08-31 23:51:59 +02:00
|
|
|
### Running
|
|
|
|
|
|
|
|
The included `Procfile` will run the app server and the background worker.
|
|
|
|
`honcho`, a `Procfile` runner, is included as a dependency:
|
|
|
|
|
|
|
|
```
|
2017-08-07 22:35:57 +02:00
|
|
|
$ honcho start
|
2017-08-31 23:51:59 +02:00
|
|
|
```
|
2017-08-12 01:54:19 +02:00
|
|
|
|
2017-08-31 23:51:59 +02:00
|
|
|
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
|
|
|
|
|
2018-04-25 09:12:14 +02:00
|
|
|
For development, you may want to use `Procfile.dev`, which starts flask in
|
|
|
|
debug mode and rebuilds the static assets automatically when they change
|
2017-08-31 23:51:59 +02:00
|
|
|
|
|
|
|
```
|
2017-08-12 01:54:19 +02:00
|
|
|
$ honcho -f Procfile.dev start
|
2017-08-07 22:35:57 +02:00
|
|
|
```
|
|
|
|
|
2018-04-25 09:12:14 +02:00
|
|
|
Or you could just look at `Procfile.dev` and run those things manually. It's up
|
|
|
|
to you.
|
2017-08-07 22:35:57 +02:00
|
|
|
|
2018-04-25 09:12:14 +02:00
|
|
|
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.
|
2017-09-10 15:11:27 +02:00
|
|
|
|
2020-06-01 03:51:55 +02:00
|
|
|
## Contact
|
2017-08-07 22:35:57 +02:00
|
|
|
|
2018-04-25 09:12:14 +02:00
|
|
|
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](https://chitter.xyz/@codl) or
|
2020-06-01 03:51:55 +02:00
|
|
|
[codl@codl.fr](mailto: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. ☕
|
|
|
|
|
|
|
|
[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. 🌻
|