[HN Gopher] Show HN: Pbnj - A minimal, self-hosted pastebin you ...
       ___________________________________________________________________
        
       Show HN: Pbnj - A minimal, self-hosted pastebin you can deploy in
       60 seconds
        
       I'm sure folks here have seen pastebins a thousand times. There's
       no innovation left in this space - and that's kind of the point.
       When I wanted to self-host a pastebin, every option I found was too
       much. Git-based version control, OAuth, elaborate admin panels. I
       just wanted something I could deploy in under a minute with a CLI
       that actually works.  So I built pbnj (yes, like the sandwich).
       What it is:  - A minimal, beautiful pastebin with syntax
       highlighting for 100+ languages  - One-click deploy to Cloudflare
       (free tier gives you ~100,000 pastes)  - CLI-first: pbnj file.py -
       get a URL, copied to clipboard  - Memorable URLs: crunchy-peanut-
       butter-sandwich instead of x7f9a2  - Private pastes with optional
       secret keys  - Web UI for when you're not in a terminal  What it
       isn't:  - No accounts, no OAuth, no git integration  - No multi-
       user support (fork it and run your own)  - No expiring pastes, no
       folders, no comments  - Not trying to replace Gist or be a
       "platform"  Why not just use Gist? Maybe you want to own your data.
       Maybe you enjoy self-hosting things. Or maybe you're a little
       autistic like me and just like having your own stuff.  Live demo:
       https://pbnj.sh GitHub: https://github.com/bhavnicksm/pbnj CLI: npm
       install -g @pbnjs/cli  If this scratches an itch for you, I'd
       appreciate a star on GitHub. Happy to answer any questions!
        
       Author : bhavnicksm
       Score  : 45 points
       Date   : 2025-12-05 13:13 UTC (9 hours ago)
        
 (HTM) web link (pbnj.sh)
 (TXT) w3m dump (pbnj.sh)
        
       | indigodaddy wrote:
       | This is really well done, but the problem I have with (most)
       | selfhosted bins is that anyone can use it, and I don't want to be
       | responsible for the content that might show up.
       | 
       | This is super neat though, and could almost be used as a blog
       | replacement (if of course I could prevent others from using
       | it/posting to it :) )
        
         | 0_____0 wrote:
         | I'm planning to set up a VPN into my home network for stuff
         | like this. Services, NAS, etc. that I want remote access to but
         | don't want exposed to the deep dark ocean of the internet.
        
         | thunderbong wrote:
         | Usually, for these kind of programs, I put them behind a proxy
         | with basic auth.
         | 
         | Also, when I tried to add something on the demo site, it asked
         | me for an auth key.
         | 
         | Looking at the code, the package.json file has an entry for
         | AUTH_KEY (in the Cloudflare config) to prevent random people
         | from pasting stuff.
        
           | indigodaddy wrote:
           | Ah, well that's kinda perfect actually
        
       | davidcollantes wrote:
       | HOWTO without CloudFlare, is it possible?
        
         | thunderbong wrote:
         | pnpm run build
         | 
         | should do it
        
           | davidcollantes wrote:
           | That creates `dist` with:
           | 
           | 404.png .assetsignore _astro/ bread.png favicon.png
           | favicon.svg jelly.png lock.png logo.png og-image.png pbnj.png
           | peanut.png _routes.json styles/ _worker.js/
           | 
           | In it. What comes next?
        
             | catapart wrote:
             | - navigate to dist directory
             | 
             | - run pnpm dlx http-serve
             | 
             | - navigate to one of the provided ip addresses
             | 
             | (this uses the tunnl.gg service and is not necessary for
             | local network access)
             | 
             | - [optional, for access via internet] run ssh -t -R
             | 80:[provided ip address including port] proxy.tunnl.gg
        
               | davidcollantes wrote:
               | That gave me some other errors. I am giving up. Thanks
               | for helping!
        
               | Numerlor wrote:
               | Fwiw if you want a simple pastebin, I've been running
               | pinnwand for a couple years without any issues off of a
               | single short docker compose file, I think running it on
               | host also shouldn't be complicated
        
         | mervz wrote:
         | Crazy that people really need instructions on how to self-host
         | stuff these days... this stuff used to be something most devs
         | could figure out.
        
         | som wrote:
         | I use CloudFlare a lot for "self hosting" .. but I also run an
         | old pi from home with Bun in place of workers. Suprisingly
         | compatible and low lift.
         | 
         | Not exactly "without CloudFlare", but for true compat you can
         | probably also self host workerd itself which is open source:
         | github.com/cloudflare/workerd
        
         | bhavnicksm wrote:
         | Hey!
         | 
         | Right now, some things are somewhat hard-coded to be Cloudflare
         | compatible. If someone's willing, you can just deploy this
         | without Cloudflare, but you'd need to dig into the code a
         | little.
         | 
         | In the future releases, I'll make it possible to host it on
         | VPCs and release a Dockerfile along with it, so that should
         | help a little.
         | 
         | Thanks for checking the project out!
        
       | Tt6000 wrote:
       | Hey there, first of all congratulations, it's really nice and
       | minimal and Illove it!
       | 
       | But Cloudflare is not self hosting!
        
         | bhavnicksm wrote:
         | Yes, that's quite fair re:Cloudflare!
         | 
         | I couldn't find the right words to describe this, in comparison
         | to something like Github Gist. I suppose "Own-your-data" since
         | the D1 db generated is yours completely.
         | 
         | Happy to change the branding to be more reflective of this!
        
       ___________________________________________________________________
       (page generated 2025-12-05 23:01 UTC)