UGC Reactions from Real Creators
Real creator library videos at $11 and images at $8. Custom production from $25/video with a $250 minimum. Commercial licensing included.
翻訳待ち
No updates detected yet. GitHub releases will appear here.
🚧 In active development: a broken commit is usually followed by a fix soon after. Self-hosted scheduler that publishes one video to YouTube, TikTok and Instagram, each with its own text and release time
翻訳待ち
Loading the full README.
Read the full README ↗[!IMPORTANT]
🚧 In active development 🚧
I use flock every day while I build it, and
mastermoves fast. Now and then a commit breaks something; a fix usually follows within hours. If something stops working, check the latest commits or pull again later.
flock schedules a video out to YouTube, Instagram, TikTok and Facebook, with its own text and its own release time for each platform.
All four publish for real. Facebook takes reels on a Page.
Get the code:
git clone https://github.com/Chrotesque/flock.git
cd flock
pnpm install
Put the PocketBase superuser details in scripts/.pb-creds.json:
{ "url": "http://<host>:8091", "email": "[email protected]", "password": "…" }
Create the collections. This is safe to re-run; run it again after every update, since a new version may add collections or fields:
pnpm setup-pb
Point the app at the same instance in .env (start from .env.example):
PUBLIC_POCKETBASE_URL=http://<host>:8091
For development:
pnpm dev
To publish it, set FLOCK_DEPLOY_DEST in .env to PocketBase's pb_public
folder, then:
pnpm deploy
This builds the app and mirrors it into that folder. PocketBase serves it straight away, with no restart.
[!WARNING] The mirror deletes anything in that folder that is not part of the build. Point it only at a
pb_publicthat belongs to flock.pnpm deploy:dryshows what would change.
From flock's website. The same page also opens at https://flock-scheduler.netlify.app/app/. It asks once for your server's address (the one flock opens at), keeps it in that browser, and talks only to that server. The browser has to reach the server over https, and it needs a profile picked again there, since to the browser it is a new site. Change… under Settings → Storage and defaults names another server.
pnpm build:site builds that copy into site/app/ and zips site/ into
site/site.zip, ready to upload to a static host.
Showing flock inside another site (iframe):
pb_hooks/strip_xframe.pb.js into PocketBase's pb_hooks/ folder (a
container mounts it at /pb/pb_hooks).FLOCK_FRAME_ANCESTORS in PocketBase's environment to that site's
origin.Confirming an upload only queues it. The worker is a separate process that keeps running when no browser is open. It:
A platform you have not set up just leaves its releases waiting in the queue.
Start from the example config. It will hold your client secrets, and git ignores it:
cp worker/.worker-config.example.json worker/.worker-config.json
In the Google Cloud console:
Put the client ID and secret in the config, then connect a channel:
pnpm worker:auth
Run it once per channel. pnpm worker:youtube lists the channels the worker
can upload to; with several, each brand picks its own in Settings → Brands.
Good to know:
This is the beginning of the README. Read the rest at the original. Read the full README ↗