Official Eiwa toolchain: eiwac compiler + eiwa CLI + stdlib on Debian.
5.3K
linux/amd64, linux/arm64docs/docker-hub-overview.md in eiwa-lang/eiwa (synced to the Hub on every release)
Eiwa is a pragmatic, statically typed, natively compiled systems language with Kotlin-inspired syntax. Everything compiles directly to native code via LLVM — with a JIT for instant development loops and -O3 for production — backed by a conservative garbage collector. Its type system is 100% composition-based (type, contract, skill, object, implement; no inheritance), with compile-time null safety, stackless coroutines (task {} / .await()), and an eiwa developer CLI for project and dependency management. Learn more at eiwa.dev.
This image is the official Eiwa toolchain: the eiwac compiler backend, the eiwa project CLI, and the standard library, on debian:trixie-slim. ENTRYPOINT is eiwa, working directory is /work.
$ docker run --rm -it -v "$PWD":/work -w /work eiwac/eiwa:latest init my-app
$ cd my-app
Mount your project on /work (requires eiwa.yaml + src/main.ei):
$ docker run --rm -v "$PWD":/work -p 8080:8080 eiwac/eiwa:latest run .
Single .ei files need no project — they are delegated to the eiwac backend:
$ docker run --rm -v "$PWD":/work eiwac/eiwa:latest eiwac run script.ei
$ docker run --rm -v "$PWD":/work eiwac/eiwa:latest test
The most common pattern is a multi-stage build: compile with this image, then copy only the native binary into a slim runtime (the runtime does not need the compiler):
FROM eiwac/eiwa:latest AS compile # prod: pin the exact version, never latest
WORKDIR /app
COPY ./ ./
RUN eiwa build --release
FROM debian:stable-slim AS runtime
RUN apt-get update && apt-get install -y --no-install-recommends \
libcurl4 libgc1 ca-certificates openssl \
&& rm -rf /var/lib/apt/lists/*
COPY --from=compile /app/app /app/server
WORKDIR /app
CMD ["./server"]
Then build and run your service:
$ docker build -t my-service .
$ docker run --rm -p 8080:8080 my-service
For reproducible CI builds, commit an eiwa.freeze file (eiwa freeze pins every dependency to its exact commit) and build with RUN eiwa build --release --frozen.
eiwac/eiwa:<version>Pinned toolchain for a specific Eiwa release. Use these in production — check the releases page for the newest tag.
eiwac/eiwa:latestFollows the newest release. Intended for local development only; never deploy on latest.
Both variants are published for linux/amd64 and linux/arm64, with EIWA_HOME=/opt/eiwa/src and EIWA_BASELINE_CPU=1 (portable binaries, safe under emulation) pre-configured.
The Eiwa toolchain in this image follows the license of the eiwa-lang/eiwa repository. As with all Docker images, your own built artifacts additionally contain other software under various licenses (notably Debian base packages); it is the image user's responsibility to ensure compliance.
Content type
Image
Digest
sha256:579f14ff7…
Size
204.6 MB
Last updated
about 2 hours ago
docker pull eiwac/eiwa