Publisher próprio · sem Postiz

Publicação automática direto nas APIs oficiais

Um worker TypeScript com fila no Supabase publica em Instagram e TikTok, mais Chatwoot para atendimento. A evolução do projeto de redes da INEMA.

# instalar e rodar o worker
npm install
npm run dev

# produção com PM2
pm2 start "npx tsx src/workers/publish-worker.ts"
O que é

Dois sistemas: Publisher e Chatwoot

A versão 2026 abandona o Postiz e fala direto com as APIs oficiais. O Publisher é um worker que processa posts agendados de uma fila no Supabase; o Chatwoot adiciona uma camada de atendimento.

🚀 Publisher próprio

Worker em TypeScript (tsx) que roda a cada 1 minuto, lê a fila no Supabase e publica via Instagram Graph API e TikTok Content Posting API.

🚀 Fila no Supabase

Posts ficam num banco Postgres com status; o worker pega os agendados e publica na hora certa.

🚀 Chatwoot

Sistema 2: atendimento self-hosted via Docker, com HTTPS obrigatório (Caddy ou Nginx + Let's Encrypt).

Como funciona

Da API ao post publicado

Você cria um post agendado via API REST; ele entra na fila no Supabase; o worker o coleta e publica direto na rede pela API oficial.

POST /api/posts Fila (Supabase) Worker (cada 1 min) Instagram / TikTok Status atualizado
Pré-requisitos

O que você precisa antes de começar

Node.js 20+, uma conta Supabase para a fila e apps de desenvolvedor no Meta (Instagram) e TikTok. Para o Chatwoot, Docker e um domínio com HTTPS.

Node.js 20+

O worker usa tsx e TypeScript 5. Confira a versão.

# engines: node >=20
node --version

Supabase

Crie o projeto e rode a migration de tabelas (fila de posts).

# migration
001_create_tables.sql

Contas de dev

App no Meta (Instagram Graph API) e no TikTok (Content Posting API), com os tokens no .env.

# .env
SUPABASE_URL=...
SUPABASE_SERVICE_ROLE_KEY=...
Guia de uso · passo a passo

Rodando o Publisher

Instale, configure o Supabase e as redes, suba o worker e crie posts agendados pela API.

1

Clonar e instalar

Baixe o repositório e instale as dependências do Publisher.

git clone https://github.com/inematds/redessociais2026.git
cd redessociais2026 && npm install
2

Configurar Supabase e variáveis

Rode a migration das tabelas e preencha o .env com as credenciais do Supabase e das redes.

# aplicar a migration 001_create_tables.sql no Supabase
# preencher .env (Supabase + Instagram + TikTok)
3

Rodar o worker

Em desenvolvimento, use o dev (watch). Em produção, rode com PM2.

npm run dev                              # desenvolvimento (watch)
npx tsx src/workers/publish-worker.ts      # direto
pm2 start "npx tsx src/workers/publish-worker.ts" --name publisher
4

Criar um post agendado pela API

Envie um POST para /api/posts com legenda, hashtags, data, plataformas e mídia.

curl -X POST http://localhost:3000/api/posts \
  -H "Content-Type: application/json" \
  -d '{ "caption":"Meu post automático!",
       "hashtags":["tech","automacao"],
       "scheduled_at":"2026-03-15T10:00:00Z",
       "platform_ids":["uuid-instagram","uuid-tiktok"] }'
5

(Opcional) Subir o Chatwoot

O sistema 2 sobe por Docker com HTTPS obrigatório.

cd chatwoot && cp .env.example .env
./setup.sh  # acesse via seu domínio com HTTPS
Exemplos

O que dá pra fazer

A API REST cobre criação, consulta e listagem; o worker cuida da publicação no horário agendado.

🚀 Agendar para o futuro

POST /api/posts com scheduled_at define a hora exata da publicação no Instagram e TikTok.

🚀 Consultar status

A API permite checar o status de cada post (pendente, publicado, erro) sem entrar nas redes.

🚀 Listar plataformas

Endpoint para listar as plataformas conectadas e seus IDs, usados no platform_ids do post.

🚀 Atendimento com Chatwoot

Centralize conversas das redes num inbox self-hosted, separado do Publisher.

Roadmap

Estado atual e evolução

Publisher e Chatwoot já funcionam. As fases refletem os publishers implementados e o que vem a seguir.

Hoje
Instagram + TikTokPublishers via Instagram Graph API v21.0 e TikTok Content Posting API v2, com fila no Supabase e API REST.
Deploy
VPS ou VercelWorker com PM2 numa VPS ou rodando na Vercel; Chatwoot via Docker com HTTPS.
Futuro
Mais redesNovos publishers (Facebook, YouTube, X, LinkedIn) seguindo a mesma arquitetura de fila.