- Python 43%
- HTML 41.1%
- CSS 11.6%
- JavaScript 3.1%
- Dockerfile 1.2%
|
GitGitro
71b7894abb
chore(instances): add new instance ( #2 )
Co-authored-by: GitGitro <108683123+GitGitro@users.noreply.github.com> Reviewed-on: thirtysix/painterest#2 Co-authored-by: GitGitro <gitgitro@noreply.codeberg.org> Co-committed-by: GitGitro <gitgitro@noreply.codeberg.org> |
||
|---|---|---|
| src | feat: initial commit | |
| static | feat: initial commit | |
| templates | docs: add changelog | |
| .dockerignore | feat: initial commit | |
| .editorconfig | feat: initial commit | |
| .gitignore | feat: initial commit | |
| .python-version | feat: initial commit | |
| CHANGELOG.md | docs: add changelog | |
| compose.yaml | feat: initial commit | |
| Dockerfile | feat: initial commit | |
| instances.json | chore(instances): add new instance ( #2 ) | |
| LICENSE | feat: initial commit | |
| pyproject.toml | feat: initial commit | |
| README.md | feat: add instance list ( #1 ) | |
| requirements-dev.lock | feat: initial commit | |
| requirements.lock | feat: initial commit | |
| tailwind.config.js | feat: initial commit | |
🩸 Painterest
Privacy-respecting, anonymous, NoJS-supporting Pinterest frontend. Based on disinterest.
🌐 Instances
See instances.json file.
✨ Features
-
API
- Search
- Retrieval of specific pins
- Basic information (name, description, image and tags)
- Comments
- Image proxy
- Search by tags
-
Frontend
- Homepage
- Search (NoJS)
- Search (JS/Infinite scroll)
- Pins
- Regular pins
- Business pins
- Video pins
- Pins from other sites
- Comments
🚀 Deployment
Clone repository:
git clone https://codeberg.org/thirtysix/painterest.git
cd painterest
🐳 With Docker
docker build . -t painterest
docker compose up -d
💻 Without containerization
python3 -m venv .venv
. .venv/bin/activate
pip install -r requirements.lock
uvicorn src.main:app --no-access-log --proxy-headers --forwarded-allow-ips '*' --host 0.0.0.0 --port 8889
🛡️ Running behind a reverse proxy
To run the app behind a reverse proxy, ensure that the appropriate proxy headers are added. Below is a sample configuration for NGINX:
location / {
proxy_pass http://127.0.0.1:8889;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
📄 Changelog
See CHANGELOG.md file.
🔧 Development
Install Rye by following the installation guide.
Use rye sync to install dependencies and required Python version.
Use rye run dev to start development server which will reload on every change to source code.
Use rye check --fix and rye fmt to lint and format code. Assumed to be run before each commit
to guarantee code quality.
Use rye run basedpyright to ensure typing is correct.
📜 License
This project is licensed under the AGPLv3+ license - see the license file for details.