Before you start. You need Docker, and about 4 GB of free memory. Docker Desktop covers
macOS and Windows, and on Linux you want Docker Engine with the Compose plugin.
Install and run
1
Install Docker
Download Docker Desktop for macOS or
Windows and start it. On Linux, follow
Docker Engine’s install page for your
distribution.Check it is running:Both commands should print a version number. If
docker compose version fails but
docker --version works, you have Docker without the Compose plugin, and the install page
above has the extra step for it.2
Get the Compose file
Do not skip the
cd. Every command from here on runs inside that folder, because that is
where docker-compose.yaml lives. Cloning also gives you the dynamicconfig folder, which
Temporal reads on startup, so copying just the YAML out of this page would leave her
without it.3
Start her
Healthy or Started:-d means she keeps running in the background after you close the terminal.4
Wait for her to be ready
She needs a minute or two on first boot to set up her database. Watch for it:You are waiting for a line like:Press
Ctrl+C to stop following the logs. That does not stop her, it only stops printing.You can also just ask whether everything is healthy:Every container reads
Up, and the log line above has appeared. She is running.5
Open her
Go to http://localhost:4007 in your browser.Create the first account. It becomes the owner of this install, so use an address you will
remember. There is no email server configured here, so no confirmation mail is sent and the
account is active straight away.
You are in. The calendar loads, empty, with no channels in the sidebar. That is a healthy
fresh install, not a broken one.
Common first-run problems
The page will not load at localhost:4007
The page will not load at localhost:4007
Give her another minute. On a first boot she creates the database schema before the web
interface answers.
docker compose logs -f postqueen tells you where she is. If the log
keeps repeating and restarting, jump to Troubleshooting.A port is already in use
A port is already in use
Something else on your machine is using 4007, 8080 or 7233. Either stop that program, or
change the left-hand number in the
ports: line of the service in docker-compose.yaml.
For example "4017:5000" would put her on http://localhost:4017 instead.Containers keep restarting or get killed
Containers keep restarting or get killed
That is almost always memory. The full stack, including Temporal and its Elasticsearch,
wants roughly 4 GB. In Docker Desktop, raise the memory limit under
Settings → Resources.
Stopping, starting and removing
Your posts, accounts and uploads live in Docker volumes, so
down followed by up -d picks up
exactly where you left off.
When you are finished experimenting:
Next steps
You have a working PostQueen, connected to nothing.Put her on a server
Your own domain, HTTPS, and an install other people can use
Connect a channel
Bring your own app keys and try a real post
Write your first post
The editor, per-channel settings, and what happens when you schedule
Self-host troubleshooting
The failures that come up most often, and what fixes them