Tartalom kiadása
Postiz
A Postiz nyílt forrású közösségimédia-ütemező: egy naptárban tartja a csatornákat, saját szerveren Docker alatt is fut, és API-t ad az automatizálásnak.
A Postiz nyílt forrású közösségimédia-ütemező: egy helyen tartja nyilván a csatlakoztatott fiókokat, és a posztokat naptárra teszi. A szoftver saját szerveren, Docker alatt is futtatható, és a projekt leírása szerint a saját üzemeltetésű változat tudásban nem marad el a hosztolttól. A licence AGPL-3.0.
A felület három dolgot tesz együtt: a csatornalista, a szerkesztő és a naptár ugyanabban a munkamenetben van. Egy posztot egyszer írunk meg, majd csatornánként finomítható, és a szerkesztő előnézete mutatja, hogyan jelenik meg az adott platformon. Nálunk a Postiz a saját szerverünkön fut, saját PostgreSQL adatbázissal, és az ütemezett posztok rajta keresztül mennek ki.
Csatornák és platformok
A csatorna egy csatlakoztatott fiók: egy X profil, egy Discord szerver, egy LinkedIn oldal. A dokumentáció 34 platformot sorol fel, és ezek nem egyformán viselkednek.
- Több csatlakozási mód létezik: OAuth átirányítás, saját kulcs megadása a Postiz felületén, platformon belüli párbeszédablak, illetve böngészőkiegészítő, amely a meglévő munkamenetet használja.
- A poszt további részei nem ugyanazt jelentik mindenhol: szállá alakulnak, a saját poszt alá kerülő kommentté válnak, vagy elmaradnak.
- A médiaszabályok platformonként eltérnek, ezért a szerkesztő már mentés előtt blokkolja a szabályt sértő posztot.
- Fiók szintű analitikát a dokumentáció szerint csak tíz platform ad vissza.
- Néhány platform csak a nyilvános API-n keresztül érhető el, a felületen nincs hozzá csatlakozási gomb.
Üzemeltetés Docker Compose-szal
A hivatalos önálló üzemeltetési út a Docker Compose. A projekt külön Compose tárat tart fenn, és a fájlt onnan érdemes húzni, mert a szolgáltatások és a környezeti változók kiadásról kiadásra változnak.
A stack a fő alkalmazás mellett PostgreSQL adatbázist, Redis-t és a hátteres munkafolyamatokhoz Temporal-t futtat. A dokumentáció a Temporal stacket a v2.12.0-tól teszi kötelezővé, és a frissítéshez külön migrációs útmutató tartozik.
- Minden beállítás környezeti változóban van, és a módosítás újraindítást igényel.
- A kötelező mag változók közé tartozik az adatbázis- és a Redis-kapcsolati sztring, a JWT titok, valamint a böngésző és a belső hívások URL-jei.
- Az adat kötetben marad meg: az adatbázis fájljai, a Redis állapota, a konfiguráció és a feltöltött média külön kötetben.
- Mentéshez az adatbázist pg_dump-pal érdemes kiírni, és a visszaállítás útját is tesztelni.
- A beállítások teljes listáját a projekt példa környezeti fájlja és a konfigurációs referencia tartja karban.
Automatizálás és API
A Postiz saját HTTP API-t ad, és az ütemezett posztokat ugyanaz a mechanizmus viszi ki, mint a felületről indítottakat. A hitelesítés API kulccsal vagy OAuth2 tokennel történik.
- Az API a csatornát integrációnak nevezi, a felület viszont csatornáról beszél; ugyanarról a dologról van szó.
- A poszt létrehozására óránkénti limit vonatkozik, amelynek alapértelmezett értéke 90, a szállított Compose fájl viszont ennél alacsonyabbra, 30-ra állítja. Az API_LIMIT változóval emelhető.
- A limit egyetlen végpontra érvényes, nem az egész API-ra, és instance szintű, nem csomagfüggő.
- Egy kérésben több poszt is ütemezhető, ezért nagyobb mennyiséget érdemes kötegelve leadni.
- Az n8n-hez külön community node létezik, a nyilvános API mellé pedig Node.js SDK.
Nálunk ez a rész az n8n felé kapcsolódik: az automatizálásaink a Postiz API-ján keresztül tesznek posztokat a naptárra, a Docker stack pedig külön Compose fájlként üzemel. Az adatbázis külön konténerben fut, saját kötettel, ahogy a PostgreSQL oldalunkon leírjuk.
Amire figyelni kell
- Saját üzemeltetésnél a platformok többségéhez a futtatónak kell fejlesztői alkalmazást regisztrálnia és a kulcsokat beállítania. A hosztolt változatban ez minden platformra kész.
- A nagy platformok jóváhagyási folyamata hosszú lehet, és a jogosultsági modell változásakor megismétlődik.
- A hozzáférési tokenek lejárnak; a felület jelöléssel mutatja az újracsatlakozást igénylő csatornát, a hibás posztot pedig hibaüzenettel.
- Az AGPL-3.0 hálózati copyleft: ha a módosított változatot szolgáltatásként nyújtjuk másoknak, a módosított forrást elérhetővé kell tenni. Változatlan, saját célú üzemeltetésnél ez nem kötelezettség.
- Az üzemeltetés nem csak a Postiz konténert jelenti: adatbázis, Redis és Temporal is a stack része.
Tovább olvasás
A CyberElectrónál a Postiz a saját szerverünkön futó ütemező: az ütemezett posztok rajta keresztül mennek ki, és az n8n automatizálásaink is ide küldik a tartalmat.