====== PrivateBin ====== ===== What is it ===== PrivateBin is a zero-knowledge paste bin. Everything is encrypted/decrypted in the browser using AES-256-CBC — the server never sees the plaintext. It was created by Sébastien Sauvage and is open source (MIT). ===== Deployment ===== service: mere-privatebin image: privatebin/fs:latest container port: 8080/tcp (internal only) volume: fatal_privatebin-data → /srv/data volume: fatal_privatebin-cfg → /etc/privatebin nginx upstream: privatebin:8080 **Why ''privatebin/fs:latest'' and not ''privatebin/privatebin''?** The ''privatebin/privatebin'' image does not include persistent file storage. The ''privatebin/fs:latest'' image is built specifically for persistent storage. ===== Issues Encountered ===== * **Wrong listen port**: The PrivateBin container listens on port **8080**, not 8888 as initially assumed. The first nginx upstream was configured to ''privatebin:8888'' which caused 502 errors. Fixed by updating the nginx config to point to ''privatebin:8080''. * **Image selection**: Had to search for the correct image — ''privatebin/fs'' is the storage-enabled variant. ===== Current Status ===== * Running and accessible at https://privatebin.mere-mortal.net * Pastes are stored on the server's volume and survive container restarts ===== Planned / To Do ===== * **Review default settings**: Configure paste expiration, identity enforcement, formatter options. * **Configuration**: The ''/etc/privatebin'' volume is mounted — review the config file. * **Rate limiting**: Add nginx rate limiting to prevent abuse.