59 lines
1.8 KiB
Markdown
59 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
|
|
# 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
|
|
|
|
### How do I change the port on which API runs?
|
|
|
|
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")
|
|
```
|
|
|
|
### Why is quotes.sqlite3 so small and has no quotes inside of it after I cloned your repository?
|
|
|
|
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 [here](https://stackoverflow.com/questions/72610494/what-is-the-difference-between-git-lfs-fetch-git-lfs-fetch-all-and-git).
|
|
|
|
### Do you really have all quotes from bash.im?
|
|
|
|
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.
|