Setup
I am working on a pipeline at home to integrate my blog with social media a little more. One of the things I want to do is automatically post my-thoughts to nostr. postiz has nostr support that works just fine - login with your nostr-hex-key and you're good to go to post notes to several of the common relays. However for my testing I just wanted to post to a self-hosetd nostr relay but there wasn't a way to override which relays were used. Well I submitted this pr and hopefully it goes through. But before it did I was able to test the changes by simply building the postiz image from my feature branch and deploying it at home in leiu of the published image. It was super cool to see it work
Build and Deploy
The build was easy after cloning the repo - I happened to already have buildx
installed... it came with aurora
docker buildx build --platform linux/amd64 -f Dockerfile.dev -t registry.example.com/gitroomhq/postiz-app:nostr-test .
After building then I just update my compose file easy-peasy
services: postiz: # updated the image to my own from my registry image: resitry.example.com/gitroomhq/postiz-app:latest container_name: postiz restart: always env_file: .env ##################### ### REST OF COMPOSE FILE FROM THEIR REPO
Pics
To test this my methodlogy was: 0. spin up nostr relay
- start postiz with my NOSTR_RELAY_OVERRIDES configuration for only my local relay
- use an existing script to schedule a nostr post via the postiz REST API
- use the UI to send the note to nostr
- validate the note came through my relay
So step 1 - does my script to schedule via the REST API work?
postiz | [0] 1|backend | { postiz | [0] 1|backend | "type": "draft", postiz | [0] 1|backend | "shortLink": false, postiz | [0] 1|backend | "tags": [], postiz | [0] 1|backend | "posts": [ postiz | [0] 1|backend | { postiz | [0] 1|backend | "integration": { postiz | [0] 1|backend | "id": "cmbgf5oko0001ra99r9vzv1fj" postiz | [0] 1|backend | }, postiz | [0] 1|backend | "value": [ postiz | [0] 1|backend | { postiz | [0] 1|backend | "content": "\nHere's a thought I had a while back:\n\n> matduggan.com/what-would-a-kubernetes-2-0-look-like/\n\nThis article was longer than I had time to really consume but a heading caught my eye that I wanted to agree with - the author says k8s 2.0 may consider HCL instead of YAML. And as a recent terraform / open-tofu adopter I gotta say I would be ALL FOR THIS\n\nHere's the original link for more context: https://matduggan.com/what-would-a-kubernetes-2-0-look-like/\n \n\n# devops # tech #k8s #nostr #plebchain", postiz | [0] 1|backend | "image": [] postiz | [0] 1|backend | } postiz | [0] 1|backend | ] postiz | [0] 1|backend | } postiz | [0] 1|backend | ], postiz | [0] 1|backend | "date": "2025-07-02T13:27:07.028Z" postiz | [0] 1|backend | }
Success
After the first step my local build looks to have not broken this part of the app!
Next was spinning up my own nostr relay - it's actually just docker compose up
services: nostr-relay: image: nostr-rs-relay:latest container_name: nostr-relay ports: - "7000:8080" environment: TZ: America/Chicago volumes: - ./data:/usr/src/app/db - ./config.toml:/usr/src/app/config.toml restart: unless-stopped
Finally, can I send my note to my relay?
I hit post in the UI and then checked coracle...
Yes! Using coracle.social I can verify that my note went to my relay only
Fin
So that was a fun way to get into postiz a little more and start to flesh out what will be a testing-scenario for some pipelines I'm building at home