Skip to content
flexcal Documentation

Container images

Build recipes live in the justfile and need just plus Docker with buildx.

Terminal window
# single-arch image for local testing
just build-container
# multi-arch image pushed to a registry
just publish
# multi-arch release image with the version injected into the footer
just publish-release 6.2.0

just --list shows every recipe, including the one-time multi-arch builder setup:

Terminal window
just buildx-setup

just check-container runs a fast Dockerfile validation with no image build.

DATABASE_URL only needs to be parseable at build time; no connection is made during the build.

Terminal window
docker build \
--build-arg DATABASE_URL=postgresql://postgres:@localhost:5450/calendso \
--build-arg NEXT_PUBLIC_WEBAPP_URL=http://localhost:3000 \
-t flexcal:local .

See Configuration → Build-time variables for the rest of the build arguments.

Build through Compose so the result carries the image name the stack expects:

Terminal window
docker compose build flexcal
docker compose up -d

CI publishes multi-arch (linux/amd64, linux/arm64) images to docker.io/flexcal/flexcal on every push to the default branch and on every release.

Tags: dev for the default branch, plus a semver tag such as v6.2.0 for releases.