Install from a binary
Run OpenPost as a single Go binary with systemd, without Docker.
OpenPost release binaries include the web app, API, and worker. Use one when you want to run OpenPost without a container runtime. Releases support Linux x86_64, macOS Apple Silicon, and Windows x86_64.
Before you start
- Choose stable, private paths for the database, media, and
.envfile. - Put OpenPost behind HTTPS before connecting social accounts.
- Run the binary as a service so it starts again after a reboot.
Install
- Download the asset for your platform from GitHub Releases.
- Create a private
.envwith the binary environment template. Set stable database and media paths, the three public URLs, and two independent secrets. - Make the binary executable on Linux or macOS, then start it from the directory that contains
.env. With no role argument, OpenPost runs migrations, serves HTTP, and processes background jobs. - Install the systemd unit on Linux, or configure a Windows service wrapper. Keep its working directory beside
.env. - Put a reverse proxy in front of port
8080, open the app, and create the first account. It becomes the instance administrator.
Larger deployments can run migrate once, then start separate web and worker processes from the same release and configuration. The binary reference covers these roles.
Updates and backups
Back up the database, media directory, and .env together. Stop the service, replace the binary, restore its ownership and permissions, then start the service and check /api/v1/ready. A rollback may also require the backup made for the previous version because database migrations are not always backward compatible.
Next steps
- Configure integrations for your social platforms.
- Back up your instance before relying on it for scheduled posts.