Shoutrrr is an open source social media scheduler for drafting, scheduling, and publishing posts across multiple accounts and workspaces.
Alternatively, create a Compose service, go to Advanced → Import from Base64, and paste this payload:
ewogICJjb21wb3NlIjogInNlcnZpY2VzOlxuICBzaG91dHJycjpcbiAgICBpbWFnZTogZ2hjci5pby9jb29sbGFic2lvL3Nob3V0cnJyOjEuNS40XG4gICAgcmVzdGFydDogdW5sZXNzLXN0b3BwZWRcbiAgICAjIERva3Bsb3kgd3JpdGVzIGl0cyBFbnZpcm9ubWVudCB0YWIgdG8gLmVudi4gUGFzcyBvcHRpb25hbCBzZXR0aW5ncyB0aHJvdWdoXG4gICAgIyB3aXRob3V0IHJlcGxhY2luZyB1cHN0cmVhbSdzIG51bGxhYmxlIGRlZmF1bHRzIHdpdGggZW1wdHkgc3RyaW5ncy5cbiAgICBlbnZfZmlsZTpcbiAgICAgIC0gcGF0aDogLmVudlxuICAgICAgICByZXF1aXJlZDogZmFsc2VcbiAgICBlbnZpcm9ubWVudDpcbiAgICAgIEFQUF9FTlY6IHByb2R1Y3Rpb25cbiAgICAgIEFQUF9ERUJVRzogXCJmYWxzZVwiXG4gICAgICBBUFBfS0VZOiBcIiR7QVBQX0tFWTo/S2VlcCB0aGUgZ2VuZXJhdGVkIEFQUF9LRVl9XCJcbiAgICAgIEFQUF9VUkw6IFwiJHtBUFBfVVJMOj9TZXQgQVBQX1VSTCB0byB0aGUgcHVibGljIFVSTH1cIlxuICAgICAgU0VMRl9IT1NURUQ6IFwidHJ1ZVwiXG4gICAgICBUUlVTVEVEX1BST1hJRVM6IFwiJHtUUlVTVEVEX1BST1hJRVM6LSp9XCJcbiAgICAgIE9DVEFORV9TRVJWRVI6IGZyYW5rZW5waHBcbiAgICAgIE9DVEFORV9IVFRQUzogXCIke09DVEFORV9IVFRQUzotZmFsc2V9XCJcbiAgICAgIFNFU1NJT05fU0VDVVJFX0NPT0tJRTogXCIke1NFU1NJT05fU0VDVVJFX0NPT0tJRTotZmFsc2V9XCJcbiAgICAgIERCX0NPTk5FQ1RJT046IFwiJHtEQl9DT05ORUNUSU9OOi1zcWxpdGV9XCJcbiAgICAgIERCX0RBVEFCQVNFOiBcIiR7REJfREFUQUJBU0U6LS92YXIvd3d3L2h0bWwvZGF0YWJhc2Uvc3FsaXRlL2RhdGFiYXNlLnNxbGl0ZX1cIlxuICAgICAgQ0FDSEVfU1RPUkU6IFwiJHtDQUNIRV9TVE9SRTotZGF0YWJhc2V9XCJcbiAgICAgIFFVRVVFX0NPTk5FQ1RJT046IFwiJHtRVUVVRV9DT05ORUNUSU9OOi1kYXRhYmFzZX1cIlxuICAgICAgU0VTU0lPTl9EUklWRVI6IFwiJHtTRVNTSU9OX0RSSVZFUjotZGF0YWJhc2V9XCJcbiAgICAgIEZJTEVTWVNURU1fRElTSzogXCIke0ZJTEVTWVNURU1fRElTSzotcHVibGljfVwiXG4gICAgICBNQUlMX01BSUxFUjogXCIke01BSUxfTUFJTEVSOi1sb2d9XCJcbiAgICAgIExPR19DSEFOTkVMOiBcIiR7TE9HX0NIQU5ORUw6LXN0ZGVycn1cIlxuICAgICAgTE9HX0xFVkVMOiBcIiR7TE9HX0xFVkVMOi1pbmZvfVwiXG4gICAgICBJTlNUQU5DRV9SRUdJU1RSQVRJT05TX0VOQUJMRUQ6IFwiJHtJTlNUQU5DRV9SRUdJU1RSQVRJT05TX0VOQUJMRUQ6LWZhbHNlfVwiXG4gICAgICBRVUVVRV9XT1JLRVJfRU5BQkxFRDogXCIke1FVRVVFX1dPUktFUl9FTkFCTEVEOi10cnVlfVwiXG4gICAgICBRVUVVRV9XT1JLRVJfQ09VTlQ6IFwiJHtRVUVVRV9XT1JLRVJfQ09VTlQ6LTF9XCJcbiAgICAgIFNDSEVEVUxFUl9FTkFCTEVEOiBcIiR7U0NIRURVTEVSX0VOQUJMRUQ6LXRydWV9XCJcbiAgICAgIElORVJUSUFfU1NSX0VOQUJMRUQ6IFwiJHtJTkVSVElBX1NTUl9FTkFCTEVEOi1mYWxzZX1cIlxuICAgIGV4cG9zZTpcbiAgICAgIC0gXCI4MDgwXCJcbiAgICB2b2x1bWVzOlxuICAgICAgLSBzaG91dHJyci1zdG9yYWdlOi92YXIvd3d3L2h0bWwvc3RvcmFnZVxuICAgICAgLSBzaG91dHJyci1zcWxpdGU6L3Zhci93d3cvaHRtbC9kYXRhYmFzZS9zcWxpdGVcbiAgICBoZWFsdGhjaGVjazpcbiAgICAgIHRlc3Q6IFtcIkNNRFwiLCBcImN1cmxcIiwgXCItLWZhaWxcIiwgXCItLXNpbGVudFwiLCBcIi0tc2hvdy1lcnJvclwiLCBcImh0dHA6Ly8xMjcuMC4wLjE6ODA4MC91cFwiXVxuICAgICAgc3RhcnRfcGVyaW9kOiA2MHNcbiAgICAgIGludGVydmFsOiAzMHNcbiAgICAgIHRpbWVvdXQ6IDEwc1xuICAgICAgcmV0cmllczogM1xuICAgIHN0b3BfZ3JhY2VfcGVyaW9kOiA2MHNcbiAgICBsb2dnaW5nOlxuICAgICAgZHJpdmVyOiBqc29uLWZpbGVcbiAgICAgIG9wdGlvbnM6XG4gICAgICAgIG1heC1zaXplOiBcIjEwbVwiXG4gICAgICAgIG1heC1maWxlOiBcIjNcIlxuXG52b2x1bWVzOlxuICBzaG91dHJyci1zdG9yYWdlOlxuICBzaG91dHJyci1zcWxpdGU6IiwKICAiY29uZmlnIjogIlt2YXJpYWJsZXNdXG5tYWluX2RvbWFpbiA9IFwiJHtkb21haW59XCJcbmFwcF9rZXkgPSBcIiR7YmFzZTY0OjMyfVwiXG5cbltjb25maWddXG5lbnYgPSBbXG4gIFwiQVBQX0tFWT1iYXNlNjQ6JHthcHBfa2V5fVwiLFxuICBcIkFQUF9VUkw9aHR0cDovLyR7bWFpbl9kb21haW59XCIsXG4gIFwiT0NUQU5FX0hUVFBTPWZhbHNlXCIsXG4gIFwiU0VTU0lPTl9TRUNVUkVfQ09PS0lFPWZhbHNlXCIsXG4gIFwiSU5TVEFOQ0VfUkVHSVNUUkFUSU9OU19FTkFCTEVEPWZhbHNlXCIsXG4gIFwiTUFJTF9NQUlMRVI9bG9nXCJcbl1cblxuW1tjb25maWcuZG9tYWluc11dXG5zZXJ2aWNlTmFtZSA9IFwic2hvdXRycnJcIlxucG9ydCA9IDgwODBcbmhvc3QgPSBcIiR7bWFpbl9kb21haW59XCIiCn0=
The exact Docker Compose and template configuration this template deploys.
Deploys Coollabs' Shoutrrr, the social media scheduler requested in #1075. This is a different project from the Containrrr notification library with the same name.
The pinned image runs the web server, queue worker, and scheduler together. SQLite stores accounts, drafts, schedules, sessions, and queued jobs. Separate volumes persist the database and storage, including uploads and generated API signing keys. PostgreSQL, Redis, email, and social-provider credentials are not required to start. Use one application replica with these SQLite defaults.
Import the template into a Docker Compose service in Dokploy. Keep its generated APP_KEY; it encrypts saved credentials. The image initializes the database and runs migrations automatically.
Before creating accounts or connecting social platforms, point your domain at Dokploy and enable HTTPS with a certificate in Domains. Keep the service port at 8080. Set the following in Environment, then redeploy:
dotenv
The generated HTTP address supports initial deployment checks. For local HTTP testing, use the generated defaults instead. TRUSTED_PROXIES=* supports Dokploy's TLS termination; the application has no published host port. Restrict it to your proxy IPs/CIDRs if other untrusted containers can reach the application directly.
Open the domain and register the first account. It becomes the instance owner even though public registration defaults to disabled. Claim it promptly, or restrict access at your proxy until setup finishes. Later users need an invitation unless the owner enables registration. Instance settings saved in the UI take precedence over the environment defaults.
Connect the platforms you use under Accounts, then create a draft or schedule a post. Workers and the scheduler must remain enabled for scheduled publishing.
Dokploy passes additional variables from Environment through the service's optional .env file. Add only settings you need, then redeploy to rebuild Laravel's configuration cache. See the complete environment reference for required, conditional, advanced, and build-only variables. Empty values and omitted values can behave differently; do not paste the entire upstream example with blank entries.
Email: MAIL_MAILER=log allows local setup without an email server; messages go to application logs and are not delivered. In this mode Shoutrrr does not enforce email verification. Configure a working mail transport before relying on password resets or emailed invitations. Switching to SMTP also enables email verification, so test delivery before inviting users.
dotenv
Use your provider's TLS settings (smtps/465 for implicit TLS). Mail API providers can use postmark, resend, or ses with the corresponding credentials listed in the environment reference.
Publishing accounts: X, LinkedIn, Facebook/Instagram, and Threads each require the relevant developer application's credentials only when connecting that platform. Set its client ID, client secret, and redirect URI before connecting. Register the same redirect URI with the provider:
| Platform | Variables | Redirect path on APP_URL |
|---|---|---|
| X | X_CLIENT_ID, X_CLIENT_SECRET, X_REDIRECT_URI | /accounts/callback/x |
LINKEDIN_CLIENT_ID, LINKEDIN_CLIENT_SECRET, LINKEDIN_REDIRECT_URI | /accounts/callback/linkedin | |
| Facebook and Instagram (shared Meta app) | FACEBOOK_CLIENT_ID, FACEBOOK_CLIENT_SECRET, FACEBOOK_REDIRECT_URI | /accounts/callback/meta |
| Threads (separate app) | THREADS_CLIENT_ID, THREADS_CLIENT_SECRET, THREADS_REDIRECT_URI | /accounts/callback/threads |
Provider permissions, app review, and account eligibility still apply. Bluesky app passwords and Discord webhooks are entered in the UI and need no deployment credentials. Bluesky OAuth requires publicly reachable HTTPS metadata. Social sign-in is separate from publishing: enable SOCIALITE_ENABLED=true, select SOCIALITE_PROVIDERS, and configure the matching credentials. Google sign-in uses /auth/google/callback.
Media: Local public storage works by default. Social platforms must be able to fetch your HTTPS media URLs. To use S3-compatible storage, configure FILESYSTEM_DISK=s3, AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY, AWS_DEFAULT_REGION, and AWS_BUCKET; optionally set AWS_ENDPOINT, AWS_URL, and AWS_USE_PATH_STYLE_ENDPOINT. Configure public access for the media you intend to publish. PUBLIC_IMAGES_DISK can select a separate public image disk.
Back up both volumes and the original APP_KEY together. Stop the service while taking a filesystem backup of SQLite to keep the database and any journal/WAL files consistent. Storage holds uploads and Passport signing keys. Never replace APP_KEY during an ordinary upgrade or redeployment.
Keep one replica and the bundled worker/scheduler for this deployment. For larger installations, provision an external database/queue and follow upstream's scaling guidance; changing DB_CONNECTION alone does not migrate existing SQLite data or add a database service. Keep DB_DATABASE at its mounted path with SQLite. The health check covers the web endpoint; also check database access, worker/scheduler status, and failed jobs when diagnosing missed posts.
Upgrade by changing the pinned image version after backing up, then redeploy and check migrations, health, and a scheduled test post. The container runs as upstream's non-root user, and Docker logs rotate at three 10 MB files. See testing notes for validation steps and their scope.
Version: 2.0.0
TryPost is an open source social media scheduler with team workspaces, a post composer, publishing queues, analytics, a REST API, and MCP tools.
Version: latest
Mixpost is an open-source social media management tool that allows you to create, schedule, and publish posts across multiple social media platforms from a single interface.
Version: v6.2.0
Cal.com is a scheduling and booking tool and an alternative to Calendly. Self-host it on your own server with Dokploy, which deploys Cal.com as a Docker Compose service in a few clicks.
Version: 1.5.0
Easy!Appointments is a highly customizable web application that allows customers to book appointments with you via a sophisticated web interface.
Version: latest
Self-hosted marketing operations dashboard for product-led growth, checkout analytics, paid media, SEO signals, and Stripe readiness.
Version: 5.1.1
Mautic is the world's largest open-source marketing automation project. It allows you to automate the process of finding and nurturing contacts through landing pages and forms, sending email, text messages, web notifications, and tracking your contacts.
Dokploy is a free, open source deployment platform. Deploy Shoutrrr and 585+ other templates on your own infrastructure with a single click.