69 lines
1.8 KiB
Markdown
69 lines
1.8 KiB
Markdown
# What's this?
|
|
|
|
This repository contains database of all quotes from the famous website bash.im
|
|
as well as the API that allows self-hosting your own quotes website. All of
|
|
this started in February 2022 when bash.im was shut down. Quotes were parsed
|
|
from the web archive.
|
|
|
|
# Requirements
|
|
|
|
- Python 3.8+ (Python 3.11 is recommended)
|
|
- Git LFS for fetching the quotes DB
|
|
|
|
# Quickstart
|
|
|
|
```bash
|
|
# Clone this repository and enter it:
|
|
git clone https://git.darkn.space/Darkn/bash-fastapi.git
|
|
cd bash-fastapi
|
|
# Download the quotes.sqlite3 using Git LFS
|
|
# and replace the pointer file with the actual database:
|
|
git lfs pull
|
|
# Configure virtualenv:
|
|
python3 -m venv .venv
|
|
# Activate virtualenv:
|
|
. .venv/bin/activate
|
|
# Install dependencies:
|
|
python3 -m pip install -r requirements.txt
|
|
# Start main.py
|
|
python main.py
|
|
```
|
|
|
|
# FAQ
|
|
|
|
**Q: How do I change the port on which API runs?**
|
|
|
|
A: Default port is 8001, but you can change it inside of main.py by modifying
|
|
those lines at the very end:
|
|
|
|
```python
|
|
if __name__ == "__main__":
|
|
uvicorn.run(app, port=8001, host="0.0.0.0")
|
|
```
|
|
|
|
**Q: Why is quotes.sqlite3 so small and has no quotes inside of it after I
|
|
cloned your repository?**
|
|
|
|
A: You probably forgot to install and/or use Git LFS. Go to the repository
|
|
directory and run following commands:
|
|
|
|
```bash
|
|
git lfs install
|
|
git lfs fetch
|
|
git lfs checkout
|
|
```
|
|
|
|
You can read more about using Git LFS
|
|
[here](https://docs.github.com/en/repositories/working-with-files/managing-large-files/installing-git-large-file-storage)
|
|
and
|
|
[there](https://stackoverflow.com/questions/72610494/what-is-the-difference-between-git-lfs-fetch-git-lfs-fetch-all-and-git).
|
|
|
|
**Q: Do you really have all quotes from bash.im?**
|
|
|
|
A: As long as it was indexed by the web archive, it's there.
|
|
|
|
# Credits
|
|
|
|
Thanks to ~~The Man, the Myth, the Legend~~ the Darkn member gameeroor for
|
|
helping with parsing and making such a nice API.
|