1
0
Fork
You've already forked painterest
0
🩸 Privacy-respecting, anonymous, NoJS-supporting Pinterest frontend.
  • 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>
2024年11月26日 11:04:45 +00:00
src feat: initial commit 2024年08月25日 03:55:16 +03:00
static feat: initial commit 2024年08月25日 03:55:16 +03:00
templates docs: add changelog 2024年10月03日 22:23:38 +03:00
.dockerignore feat: initial commit 2024年08月25日 03:55:16 +03:00
.editorconfig feat: initial commit 2024年08月25日 03:55:16 +03:00
.gitignore feat: initial commit 2024年08月25日 03:55:16 +03:00
.python-version feat: initial commit 2024年08月25日 03:55:16 +03:00
CHANGELOG.md docs: add changelog 2024年10月03日 22:23:38 +03:00
compose.yaml feat: initial commit 2024年08月25日 03:55:16 +03:00
Dockerfile feat: initial commit 2024年08月25日 03:55:16 +03:00
instances.json chore(instances): add new instance ( #2 ) 2024年11月26日 11:04:45 +00:00
LICENSE feat: initial commit 2024年08月25日 03:55:16 +03:00
pyproject.toml feat: initial commit 2024年08月25日 03:55:16 +03:00
README.md feat: add instance list ( #1 ) 2024年10月03日 23:06:09 +03:00
requirements-dev.lock feat: initial commit 2024年08月25日 03:55:16 +03:00
requirements.lock feat: initial commit 2024年08月25日 03:55:16 +03:00
tailwind.config.js feat: initial commit 2024年08月25日 03:55:16 +03:00

🩸 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.