Sign inSign up

duypx/azimutt

By duypx

•Updated 15 days ago

Unofficial native arm64 (Apple Silicon) build of Azimutt — upstream MIT, commit 3f79c29

Image
0

108

duypx/azimutt repository overview

⁠Azimutt — unofficial arm64 (Apple Silicon) build

A native linux/arm64 build of Azimutt⁠, an open-source database schema explorer and ERD tool.

This is not an official image. For official builds, see ghcr.io/azimuttapp/azimutt:main.

⁠Why this image exists

The official image is published for linux/amd64 only. On Apple Silicon it fails at startup under both emulation paths:

  • Under QEMU, the Erlang VM segfaults (exit 139).
  • Under Rosetta, it still segfaults. The cause is the hexpm-built erts, not the BEAM JIT: the official erlang:25-slim amd64 image boots fine under Rosetta, while hexpm/elixir:1.14.3-erlang-25.2.2-debian-bullseye — the base image Azimutt builds from — does not.

So the only working option on Apple Silicon is a native arm64 build from source.

⁠Tags

TagDescription
main-arm64Upstream behaviour, tracking the main branch
3f79c29-arm64Upstream behaviour, pinned to a specific commit
main-arm64-offlineTelemetry removed — see below
3f79c29-arm64-offlineTelemetry removed, pinned to a specific commit
⁠About the -offline tags

In an unmodified production build the backend posts to https://cockpit.azimutt.app on boot and periodically, sending instance configuration and aggregate database counts. Upstream makes this non-optional: the COCKPIT=off escape hatch only applies when MIX_ENV=dev.

The reply also gates features — without it, the usable plan set falls back to ["free"], and the server can instruct the instance to shut itself down.

The -offline images replace that HTTP call with a locally produced response, and disable tzdata autoupdate, so the container makes no outbound request at all. This is intended for air-gapped or privacy-sensitive self-hosting.

Azimutt is MIT licensed, so this modification is permitted. Its paid plans fund upstream development: if you depend on Azimutt commercially, please buy a licence (LICENCE_KEY) and use the plain tags rather than these.

⁠Build provenance

Built from commit 3f79c2971a8a3be62ccf6003eb17a7ded7640897⁠ with four patches to the upstream Dockerfile, none of which change application behaviour:

  1. Removed the hardcoded --platform=linux/amd64 from both build stages.
  2. Repointed apt to archive.debian.org — Debian 11 bullseye reached end of LTS on 2026-08-31, which breaks the upstream Dockerfile on all architectures.
  3. Overrode the elm npm package with @lydell/elm⁠, which ships an arm64 binary.
  4. Skipped the install script for elm-coverage, a test-only dependency with no arm64 binary.

No build arguments were baked in: every secret-bearing ENV in the image (S3_KEY_SECRET, GITHUB_CLIENT_SECRET, STRIPE_API_KEY, DATABASE_URL, …) is empty.

⁠Minimum configuration

PHX_SERVER=true
PHX_HOST=localhost
PORT=4000
SECRET_KEY_BASE=<at least 64 bytes, e.g. openssl rand -hex 48>
DATABASE_URL=ecto://user:pass@host:5432/database
FILE_STORAGE_ADAPTER=local
AUTH_PASSWORD=true

At least one authentication method is required (AUTH_PASSWORD or AUTH_GITHUB). See the upstream INSTALL.md⁠ for the full list.

⁠License

Azimutt is MIT licensed — Copyright (c) 2022 Loïc Knuchel. This image redistributes it unmodified in function; the license and copyright notice are retained.

Tag summary

Content type

Image

Digest

sha256:72944b750…

Size

208.3 MB

Last updated

15 days ago

docker pull duypx/azimutt:3f79c29-arm64-offline