54 lines
1.5 KiB
Markdown
54 lines
1.5 KiB
Markdown
# Threads
|
|
|
|
Show off your favorite public threads and offer hand-picked, fine-grained, topical subscriptions!
|
|
|
|
See it [in action](https://ayco.io/threads).
|
|
|
|
## Project setup
|
|
|
|
1. Set up your **Debian** (for other environments, search for counterpart instructions)
|
|
|
|
```bash
|
|
# update repositories
|
|
$ sudo apt update
|
|
|
|
# install python stuff
|
|
$ sudo apt install python3-pip python3-dev build-essential libssl-dev libffi-dev python3-setuptools python3-venv
|
|
```
|
|
|
|
2. Install dependencies
|
|
|
|
```bash
|
|
# clone the project
|
|
$ git clone git@git.sr.ht:~ayoayco/threads
|
|
|
|
# go into the project directory
|
|
$ cd threads
|
|
|
|
# create python environment:
|
|
$ python3 -m venv .venv
|
|
|
|
# activate python env:
|
|
$ . .venv/bin/activate
|
|
|
|
# install dependencies
|
|
(.venv)$ python -m pip install flask requests markdown
|
|
|
|
# rejoice!
|
|
```
|
|
|
|
3. To start development, run the following:
|
|
```bash
|
|
(.venv)$ flask --app app.py --debug run
|
|
```
|
|
|
|
> Note: On a Mac, the default port 5000 is used by AirDrop & Handoff; you may have to turn those off
|
|
|
|
4. After development session, deactivate the python env
|
|
```bash
|
|
(.venv)$ deactivate
|
|
```
|
|
|
|
## Deployment
|
|
|
|
For deployment, the recommended setup is with production server `gunicorn` and reverse proxy `nginx`. See the [DigitalOcean tutorial](https://www.digitalocean.com/community/tutorials/how-to-serve-flask-applications-with-gunicorn-and-nginx-on-ubuntu-20-04) (their website uses cookies).
|