No description
  • Go 98.4%
  • Dockerfile 1.6%
Find a file
2026-06-13 21:17:53 +02:00
.github/workflows Update .github/workflows/codeberg-publish.yml 2026-05-28 00:53:17 +02:00
screenies some additional QOL changes, bookmarking...etc 2025-10-16 21:36:41 -04:00
.dockerignore Add .dockerignore 2025-11-18 01:53:14 +01:00
compose.yml Update compose.yml 2026-05-29 00:57:10 +02:00
Dockerfile Update Dockerfile 2026-04-07 03:30:04 +02:00
go.mod Update go.mod 2026-03-30 21:01:31 +02:00
LICENSE relicense to ISC 2026-05-29 00:59:04 +02:00
main.go minify html/css 2026-06-13 21:17:53 +02:00
README.md Update README.md 2026-05-29 00:53:01 +02:00

Pinata is Yet Another Pinterest Frontend.

pinata-screenshot

Self-explanatory. It's built with the idea of being light as possible, and not strain the end user's system while being fun.

The Docker image, built by you, ranges between 5-7 MB, and the entire workings depend on a single main.go.

  • Pinata by itself takes very little memory to run, about 14MB of memory with docker image when active (30~ MB with Chunk Mode enabled), and 6MB when idle.
  • The frontend uses no Javascript, which makes it friendly to low-end systems like netbooks!
  • Pinata does not need a database to function, and all customization and saved bookmarks is done with encrypted cookies. No logs are kept in the container.
  • Memory isn't a concern? Bring your own image proxy backend if you'd like! This allows you to compress images for the end user (making it even lighter), rotate ips, and do other fun stuff. An example that auto-compresses images: https://codeberg.org/gigirassy/image-proxy/

Despite being so light, Pinata supports bookmarks via cookies (encrypted!) and can be made a PWA on your phone.

Contribute to this repo on Codeberg!

How to run

Go

not recommended.

Port 8080 is needed to run with this method; Docker is most recommended if that is taken.

  • Clone this repo.
  • (optional, but bookmarks will be unavailable) head -c 32 /dev/urandom | base64 and then export PINATA_BOOKMARK_KEY=resultofpreviouscommand.
  • go build -trimpath -ldflags="-s -w" -o pinata ./main.go
  • Wait a few seconds for that tasty binary.
  • Run in background with ./pinata &
  • Clone this repo.
  • Tweak compose.yml as you see fit and follow instructions if you want to enable bookmarks.
  • Comment out image proxy backend and PINATA_IMAGE_BACKEND environment variable if memory is a concern.
  • docker compose up -d
  • docker compose pull && docker compose up -d to update.