Deploy the Worker to Cloudflare
This is the production path: the Worker runs in your own Cloudflare account, with your database, your queue and your credentials. It shares no steps with local development, and it does not need a checkout on your machine.
The steps below are the deployment procedure recorded in the product repository for the 0.2.0-rc.1 candidate. They were not executed while writing this page: this candidate has not been deployed or accepted as a release, and no live account has been exercised. Where the procedure says "pending", treat it as pending.
What you own after deploying
| Resource | Purpose |
|---|---|
| Worker | The Bearer-authenticated HTTP API. It is the only runtime. |
| D1 database | Stores one post row and one publication row per selected platform. |
| Queue | Carries immediate delivery jobs to the Queue consumer. |
| Cron Trigger | Scans every 15 minutes for scheduled posts and stale jobs. |
| Secrets | SYNDROO_API_KEY plus the credentials of each platform you enable. |
Steps
-
Deploy from the repository
Follow the deploy section of the product README: Syndroo README (deploy procedure). It links a Deploy to Cloudflare button, whose documented behaviour is to create an independent repository in your account, ask for
SYNDROO_API_KEY, provision the D1 database and Queue, apply the migrations, configure the Cron Trigger, and deploy the Worker.Two limits are recorded for this candidate: the button still deploys this source repository, and the thin deployment template passed isolated local installation, migration, build and startup checks but is not wired to the button and is not published to a registry. There is no
npm install syndroopath in this candidate. -
Choose the API key at deploy time
SYNDROO_API_KEYis a long random secret that you invent. It is the Bearer token every client sends, and it can publish. Store it in your own secret manager as well; the Worker cannot show it back to you. -
Add platform secrets after the deployment
Open the deployed Worker, then Settings → Variables and Secrets, and add only the credentials for the platforms you intend to publish to. Each platform guide lists the exact names and what the platform requires.
- Platforms are enabled independently; a platform without credentials returns HTTP
422andPLATFORM_NOT_CONFIGURED. - A deployment with no platform credentials can still answer health checks, but it cannot accept posts.
- Keep platform secrets out of any template's required-secret list; they are optional per deployment.
- Platforms are enabled independently; a platform without credentials returns HTTP
-
Verify the deployment
curl "https://your-worker.your-subdomain.workers.dev/health" # {"status":"ok"}Then publish one post to one platform, exactly as in Publish your first post. If the API key is missing or wrong, the request fails with HTTP
401; if a platform is not configured, it fails with422before anything is stored.
Boundaries and cautions
- Never deploy using the local Wrangler environment. Local runs read
.dev.varsand a local database; production reads Worker secrets. - No dashboard. Everything after deployment goes through the HTTP API,
wrangleror the Cloudflare dashboard's own secret and log views. - Migrations are part of deployment. Local development applies migrations to a local database; that does not migrate production.
- You maintain the credentials. Renew, rotate and revoke each platform credential according to that provider's own rules, and replace the Worker secret when you do. Syndroo has no automatic token refresh.
- Scheduling has a scan cadence, not a completion guarantee. Cron looks for due posts every 15 minutes, then queue and platform time are added on top. The requested
scheduledAtis the earliest intended time, and no upper bound is promised.
Applies to
Syndroo 0.2.0-rc.1 (unpublished release candidate). For the local path instead, see Local development.