v0.3.2
A patch, and for the ordinary compose path a documentation one: nothing here
changes what a docker-compose.yml install runs.
git fetch --tags && git checkout v0.3.2
cd infra/selfhost && ./upgrade.shAn install guide written from an install
infra/selfhost/COOLIFY.md is now step by step, and every step in it is one that
was got wrong on a real Coolify before it was written down. It came out of a
second install done from a zero-state Coolify, by hand, through the interface,
by somebody who had not deployed this stack before.
What that turned up, all of it now in the guide:
- "Public Repository", not "Docker Compose". The resource type called Docker
Compose gives you an empty editor to paste a file into. The repository flow is
the one that clones a tree, and it asks for the build pack afterwards. - Three of Coolify's own guesses are wrong here, and the branch cannot be set
until the resource exists. The guide names all four fields and what they become. - Every domain row must be
https. A row left onhttpis served without a
certificate and none is ever requested, while the container behind it stays
healthy. That is the failure shape this whole file exists to warn about. - The port box should fill itself from
expose:, and once it did not. If one
is empty, type it. An empty port means the router is dropped as unroutable, no
certificate is requested, and nothing is logged. - Coolify keeps two copies of every variable,
ProductionandPreview. The
list does not make the difference obvious, a deploy reads Production, and
editing the wrong one is silent. - Its DNS check can be wrong on records that are right. Verify with
digand
continue.
One fix, and it is the one that made a first deploy impossible
EMAIL_FROM shipped as ${OA_EMAIL_FROM:-}. The schema wants at least three
characters, so the worker refused to start, restarted, and refused again, over a
variable nothing told the operator was required. env/worker.env.example has
shipped a placeholder there the whole time; the Coolify file had dropped it.
It is a from-address and not a lock. Mail is configured later from the dashboard
under Account then Deployment, and a relay stored there wins over
anything in the environment, so magic links work whatever this says.
The guard is a test: no ${VAR:-} anywhere in that file. A variable the platform
fills in is written with no default at all, which is the honest spelling.
A note for the ordinary compose path
Not a change in this release, but the one thing v0.3.0 changed for an existing
install, now said where somebody will read it rather than only in a comment.
clickhouse and valkey became our own images in v0.3.0, with their config
files baked in instead of bind-mounted. The files have not moved and are what
the images are built from. What changed is that editing one in place no longer
takes effect: build instead of pull (./upgrade.sh --from-source), or
bind-mount your version over the baked one, which still wins.
Images
Ten, published to ghcr.io/openlabs-so/openanalytics and tagged v0.3.2:
migrate, tracker-build, api, collector, worker, query-gateway,
realtime, web, clickhouse, valkey. amd64. On arm64, build them instead:
same compose file, one flag.
Their contents are unchanged from v0.3.1. The tag moves because the compose
file, the env templates and the migrations ship with the images and a release is
one commit.
RELEASING.md
is what a version number here means.
Full changelog: v0.3.1...v0.3.2