mirror of
https://github.com/moghtech/komodo.git
synced 2026-09-10 16:01:20 +00:00
add new ec2 instance types clean up testing config document the libraries a bit clean up main update sysinfo and otel update client resolver 3.0 resolver v3 prog clean up gitignore implement periphery resolver v3 clean up core read api v3 more prog execute api missing apis compiling 1.16.13 work on more granular traits prog on crud
50 lines
1.6 KiB
Docker
50 lines
1.6 KiB
Docker
## Assumes the latest binaries for x86_64 and aarch64 are already built (by binaries.Dockerfile).
|
|
## Sets up the necessary runtime container dependencies for Komodo Core.
|
|
## Since theres no heavy build here, QEMU multi-arch builds are fine for this image.
|
|
|
|
ARG BINARIES_IMAGE=ghcr.io/mbecker20/komodo-binaries:latest
|
|
ARG FRONTEND_IMAGE=ghcr.io/mbecker20/komodo-frontend:latest
|
|
ARG X86_64_BINARIES=${BINARIES_IMAGE}-x86_64
|
|
ARG AARCH64_BINARIES=${BINARIES_IMAGE}-aarch64
|
|
|
|
# This is required to work with COPY --from
|
|
FROM ${X86_64_BINARIES} AS x86_64
|
|
FROM ${AARCH64_BINARIES} AS aarch64
|
|
FROM ${FRONTEND_IMAGE} AS frontend
|
|
|
|
# Final Image
|
|
FROM debian:bullseye-slim
|
|
|
|
# Install Deps
|
|
RUN apt update && \
|
|
apt install -y git ca-certificates && \
|
|
rm -rf /var/lib/apt/lists/*
|
|
|
|
WORKDIR /app
|
|
|
|
# Copy both binaries initially, but only keep appropriate one for the TARGETPLATFORM.
|
|
COPY --from=x86_64 /core /app/arch/linux/amd64
|
|
COPY --from=aarch64 /core /app/arch/linux/arm64
|
|
ARG TARGETPLATFORM
|
|
RUN mv /app/arch/${TARGETPLATFORM} /usr/local/bin/core && rm -r /app/arch
|
|
|
|
# Copy default config / static frontend / deno binary
|
|
COPY ./config/core.config.toml /config/config.toml
|
|
COPY --from=frontend /frontend /app/frontend
|
|
COPY --from=denoland/deno:bin /deno /usr/local/bin/deno
|
|
|
|
# Set $DENO_DIR and preload external Deno deps
|
|
ENV DENO_DIR=/action-cache/deno
|
|
RUN mkdir /action-cache && \
|
|
cd /action-cache && \
|
|
deno install jsr:@std/yaml jsr:@std/toml
|
|
|
|
# Hint at the port
|
|
EXPOSE 9120
|
|
|
|
# Label for Ghcr
|
|
LABEL org.opencontainers.image.source=https://github.com/mbecker20/komodo
|
|
LABEL org.opencontainers.image.description="Komodo Core"
|
|
LABEL org.opencontainers.image.licenses=GPL-3.0
|
|
|
|
CMD [ "core" ] |