Set it up yourself, in about twenty minutes
Morgenruf is one process and a Postgres database. Pick whichever of these you already have, and the Slack side is the same either way. Would rather not run anything? Add to Slack puts it on the free hosted instance in about two minutes.
Pick a way to run it
Docker Compose
The shortest path. One file, one command, runs on a laptop, a VPS or a spare Mac mini.
Set it up with Docker →Kubernetes and Helm
A published chart, an external Postgres, and an ingress or a tunnel. For clusters you already run.
Set it up with Helm →The Slack app
Creating the app from the manifest, the scopes it asks for and why, and installing it.
Create the Slack app →What you need before you start
- Somewhere to run it. Any machine with Docker, or a Kubernetes cluster. It is a single Python process and a Postgres database; it is not demanding.
- Postgres. Anything from 13 up. Migrations apply themselves when the app starts, so an empty database is enough.
- An HTTPS URL Slack can reach. Slack posts events to your app, so it needs a public address. A Cloudflare tunnel works and needs no open port.
- A Slack workspace where you can install apps. Whoever installs it becomes the first admin.
The shape of it
Three things talk to each other: Slack, the app, and your database. Slack sends events to your URL, the app writes to Postgres, and a scheduler inside the app sends the messages that start standups and coffee chats. A self-hosted install talks to Slack only, plus Zoom, email (Resend), an AI provider or PostHog analytics if the operator turns those on.
One value people miss: FLASK_SECRET_KEY signs
dashboard sessions. Generate a real one with openssl rand -hex 32. Leaving it blank
means nobody can stay logged in.
After it is running
- Open your app URL and sign in with Slack. You are the first admin.
- Create a standup: pick a channel, the questions, the hour, and who takes part.
- Turn on coffee chats and kudos when you want them. Both are off until you say so.
- Optional: connect Zoom so coffee chats book a real meeting, and set up a digest email.
Before you begin
How long does it take to set up?
About twenty minutes end to end: ten to create the Slack app from the manifest, five to start the containers, and five to point it at a channel. Migrations run themselves on first start, so there is no database step beyond having a Postgres URL.
What do I actually need?
A machine that can run Docker or a Kubernetes cluster, a Postgres database, and an HTTPS URL Slack can reach. A Cloudflare tunnel covers the last one without opening a port.
Can I try it without a server?
Yes. Add to Slack installs it on the free hosted instance CloudDrove runs, in about two minutes. To try the self-hosted route, run it on your laptop with Docker Compose and expose it with a tunnel. Nothing about that is different from the production path except where it runs.
Do I need a paid Slack plan?
No. Morgenruf uses the standard Slack app APIs available on the free plan.