5 min read · Beginner friendly · April 2026
Flixty is an open-source, self-hosted social media creator studio that lets you publish to X, LinkedIn, Facebook, Instagram, TikTok, and YouTube from a single interface. NEXUS AI deploys it directly from source — no Dockerfile required — with a single MCP tool call.
This guide walks you through deploying Flixty on NEXUS AI step by step — covering provider selection, environment variable setup, OAuth configuration for each platform, and ongoing management. By the end you'll have a live, self-hosted social posting studio running on your own cloud infrastructure.
What is Flixty?
Flixty (github.com/nexusrun/flixty) is a Node.js 18+ Express application that serves as a unified control panel for social media publishing. It runs on port 3000 and is started with node server.js — no build step, no container image to maintain.
Key capabilities:
- Multi-platform posting — schedule and publish content to X, LinkedIn, Facebook, Instagram, TikTok, and YouTube from one dashboard
-
AI Assist — optional Claude integration (via
ANTHROPIC_API_KEY) generates captions, hashtags, and post variations - Post scheduler — queue posts for optimal publish times across time zones
- Live streaming support — manage stream metadata and thumbnails alongside regular posts
- OAuth per platform — each social network authenticates independently; add only the platforms you need
Prerequisites
- A NEXUS AI account with at least one project configured
- The NEXUS AI MCP connector enabled in Claude — or API access to
api.zollo.live/mcp - A supported cloud provider account (GCP, AWS, or Azure)
- OAuth credentials for each social platform you want to enable (X, LinkedIn, Facebook/Instagram, TikTok, Google/YouTube)
Tip: You can deploy Flixty without any platform credentials first to get the public URL, then add OAuth credentials in a redeploy. This is the recommended flow since most OAuth apps require a known redirect URI before you can obtain credentials.
Deploying Flixty — step by step
Step 1 — Choose your cloud provider
Flixty is deployed as a source-based deployment — NEXUS AI clones the repo, installs dependencies, and runs node server.js on your chosen provider. GCP Cloud Run is recommended for production: it handles auto-scaling and provides a stable HTTPS URL you can use for OAuth redirect URIs.
| Provider | Notes |
|---|---|
| GCP Cloud Run | Serverless, auto-scales to zero |
| AWS ECS Fargate | Full AWS ecosystem |
| Azure Container Apps | Enterprise & compliance |
Environments map to: PRODUCTION for live traffic (default), STAGING for pre-production validation, and DEVELOPMENT for local testing.
Step 2 — Deploy with one MCP tool call
Via the NEXUS AI MCP in Claude, call nexusai_deploy_flixty. A minimal invocation — with no platform credentials yet — looks like this:
nexusai_deploy_flixty(
provider: "gcp_cloud_run",
environment: "PRODUCTION",
name: "flixty" // optional
)
If you don't supply a sessionSecret, NEXUS AI auto-generates a cryptographically secure 64-character hex secret for your Express sessions. You can also pass platform OAuth credentials and an anthropicApiKey at this stage if you have them ready.
Or deploy from the CLI:
nexus deploy flixty \
--provider gcp_cloud_run \
--wait
Step 3 — Save your deployment credentials
After a successful deploy call, NEXUS AI returns:
| Field | Description | Example |
|---|---|---|
id |
Deployment UUID | 7a2c91f0-… |
sessionSecret |
Express session signing key | 4d8f1c3a9e… |
status |
Current state |
queued → running
|
url |
Public HTTPS endpoint | Available once live |
Important: Copy your
sessionSecretimmediately — it's returned once. Losing it means active user sessions will be invalidated on the next redeploy. Store it in NEXUS AI Secrets or your secrets manager.
Step 4 — Get the public URL and set BASE_URL
Once the deployment is running, retrieve its public URL and redeploy with BASE_URL set. This is required for OAuth redirect URIs to work correctly across all platforms.
nexusai_deploy_status(
deploymentId: "7a2c91f0-…"
)
// Once you have the URL, redeploy with baseUrl:
nexusai_deploy_flixty(
provider: "gcp_cloud_run",
baseUrl: "https://flixty-abc123.run.app",
sessionSecret: "your-saved-session-secret"
)
Use https://flixty.yourdomain.com/auth/<platform>/callback as the redirect URI when registering your OAuth apps on each platform.
Step 5 — Add platform OAuth credentials
Redeploy with credentials for each platform you want to enable. You can add them all at once or one at a time:
nexusai_deploy_flixty(
provider: "gcp_cloud_run",
baseUrl: "https://flixty.yourdomain.com",
sessionSecret: "your-saved-session-secret",
xClientId: "x-oauth-client-id",
xClientSecret: "x-oauth-client-secret",
linkedinClientId: "linkedin-client-id",
linkedinClientSecret:"linkedin-client-secret",
fbAppId: "facebook-app-id",
fbAppSecret: "facebook-app-secret",
googleClientId: "google-client-id",
googleClientSecret: "google-client-secret",
anthropicApiKey: "sk-ant-…" // enables AI Assist
)
Note:
fbAppIdandfbAppSecretenable both Facebook and Instagram. A single Facebook App handles both platforms via the Graph API.
Environment variables reference
All variables are injected securely at runtime. None are baked into the image.
| Variable | Required | Description |
|---|---|---|
SESSION_SECRET |
Yes | Express session signing key. Auto-generated (64-char hex) if not provided. |
BASE_URL |
Yes* | Public HTTPS URL of your deployment. Required for OAuth redirect URIs. Set after first deploy. |
PORT |
Auto-set | Always 3000. Set automatically by NEXUS AI. |
NODE_ENV |
Auto-set | Always production for PRODUCTION environment deployments. |
ANTHROPIC_API_KEY |
No | Enables AI Assist (claude-sonnet-4-6) for caption generation and post variations. |
X_CLIENT_ID |
No | X/Twitter OAuth 2.0 Client ID. Required to enable X posting. |
X_CLIENT_SECRET |
No | X/Twitter OAuth 2.0 Client Secret. |
LINKEDIN_CLIENT_ID |
No | LinkedIn OAuth Client ID. Required to enable LinkedIn posting. |
LINKEDIN_CLIENT_SECRET |
No | LinkedIn OAuth Client Secret. |
FB_APP_ID |
No | Facebook App ID. Enables both Facebook and Instagram via the Graph API. |
FB_APP_SECRET |
No | Facebook App Secret. |
TIKTOK_CLIENT_KEY |
No | TikTok Client Key. Required to enable TikTok posting. |
TIKTOK_CLIENT_SECRET |
No | TikTok Client Secret. |
GOOGLE_CLIENT_ID |
No | Google OAuth Client ID. Enables YouTube posting and Google Sign-In. |
GOOGLE_CLIENT_SECRET |
No | Google OAuth Client Secret. |
*BASE_URL is technically optional on first deploy when the public URL is not yet known. Set it on the first redeploy once the deployment is running.
Managing your Flixty deployment
NEXUS AI gives you full lifecycle control over every deployment. Here's a quick reference:
| Action | MCP Tool | When to use |
|---|---|---|
| Check status | nexusai_deploy_status |
After deploying, or to get the public URL |
| View logs | nexusai_deploy_logs |
Debug OAuth errors or startup failures |
| Redeploy | nexusai_deploy_redeploy |
Push updated env vars or a new code revision |
| Stop studio | nexusai_deploy_stop |
Pause to save compute costs |
| Restart | nexusai_deploy_start |
After a stop, or after config changes |
| Rollback | nexusai_deploy_rollback |
Revert to a previous working revision |
| Delete | nexusai_deploy_delete |
Permanently tear down the deployment |
Scaling your deployment
Scale Flixty up to handle more concurrent users without redeploying:
nexusai_deploy_scale(
deploymentId: "7a2c91f0-…",
replicas: 3
)
Or via the CLI:
nexus deploy scale flixty 3
Custom domain
Attach a custom domain so your OAuth redirect URIs stay stable across redeployments:
nexusai_domains_add(
deploymentId: "7a2c91f0-…",
domain: "flixty.yourdomain.com"
)
Tip: Set up a custom domain before registering OAuth apps so your redirect URIs never change. Use
https://flixty.yourdomain.com/auth/<platform>/callbackas the redirect URI template.
Troubleshooting
OAuth redirects fail after deploy
This means BASE_URL is not set or points to the wrong URL. Check the current value with nexusai_deploy_status and redeploy with the correct public HTTPS URL. All OAuth callbacks are constructed from BASE_URL at runtime.
Posts fail for a specific platform
The platform credentials for that network are missing or incorrect. Check that the relevant env vars (X_CLIENT_ID, FB_APP_ID, etc.) are set via nexusai_deploy_status. Use nexusai_deploy_logs to see the exact OAuth error returned by the platform's API.
AI Assist not working
ANTHROPIC_API_KEY is not set or the key is invalid. Redeploy with a valid Anthropic API key. Verify it starts with sk-ant- and has not expired or been revoked in your Anthropic console.
Deployment stuck in "queued"
Check that your cloud provider credentials are properly configured in NEXUS AI. For GCP, ensure your service account has Cloud Run developer permissions. Use nexusai_deploy_logs to diagnose any build or startup failures — common causes are missing Node.js version compatibility or a package.json install failure.
Session errors after redeploy
If you redeploy without passing the original sessionSecret, a new secret is generated and all existing user sessions are invalidated. Always save and re-pass sessionSecret on subsequent deploys to maintain session continuity.
Wrapping up
Flixty on NEXUS AI gives you a fully self-hosted social media publishing stack — no third-party SaaS dependencies, no per-seat pricing, no data leaving your cloud. You control the OAuth tokens, the session data, and the posting schedule.
From here, explore attaching a custom domain for stable OAuth redirect URIs, enabling AI Assist with your Anthropic API key, or setting up a staging environment to test platform integrations before they go live.
Try it now: Head to nexusai.run and enable the NEXUS AI MCP connector in Claude to deploy Flixty with a single conversation in under 5 minutes.
NEXUS AI — AI-native cloud infrastructure · nexusai.run
Top comments (0)