mirror of
https://github.com/moghtech/komodo.git
synced 2026-03-11 17:44:19 -05:00
* new ui using mantine * resources page * prog on resource page * resources and resource layouts * confirm button and modal * tweaks * update details * topbar updates * add skeletons for resource implementations * add resource tables * add tags to recents cards * resource page table scrolling * table component + tags filter * export toml * New Resource button * Fix update details capture closing * tweaks * omni search * refine config * config tweaks * implement more configs / resource selector * add profile page * provider / account selectors * container table page * build config * deployment config * fix deployment build version selector * fix secrets selector * resource sync config * mobile topbar and updates * update details fz sm * stack config * terminals page * create terminal in prog * create terminal menu * finish create terminal menu * terminal pages working * stack tabs / info * add executions * add server header info * confirm pubkey modal * improve resource header styling * FileSource component * stack service table, move icons.ts * basic procedure config * tweak procedure config * container / image pages * network / volume pages * clean up docker resource pages * basic log / terminal ui * reusable log section * styling * clean up resource components * delete in resource header * log auto select stderr * fix some bgs * stack logs with service selector * stack terminals * add deployment executions * use correct icon * useResource hooks * build info * build info * tweaks * server tabs * fix terminal section target * prog on server tabs * server stats * light theme * start on historical stats * stack service page * resource sync tabs * sync tabs * more topbar icons * add settings basic * add topbar alerts * tweak stream selector behavior * tweak alert icon topbar * improve styling smaller screen * schedules page and other progress * onboarding keys * improve schedule page descriptions * improve update notifications * schedule timezone selector * tag color selector * finish settings / providers * use shared-text-update component so settings tables aren't janky * updates page * refine updates page * alert page * standardize borders * theme and swarm * swarm tabs * swarm node page * swarm config page * swarm pages * swarm task and secret pages * swarm stack page * fix stack log service selector in swarm mode * standard inspect section * swarm inspect tab * server and swarm resources tab * add disable confirm dialog (modal) option for executions * stack update available indicator * deployment update available * add template switch to resource headers * ResourceHeader + rename * set editing name onclick * repo tabs * server stats table * refine a bit * refine deployment / stack header info * show server stats dashboard. dashboard tables * action last run in config * SettingsUsers page * user page etc * manage api key * user base permissions * color the table multi select * user group page * UserAddUserGroup * active includes deployments / stacks * improve small screen view * fix docker pages execution showing * clean up * rename frontend to UI * align profile page styling * config maintenance windows * finish maintenance windows * builder config * add batch execute dropdown / confirm menu * batch execute styling * deploy 2.0.0-dev-117 * improve stats card light theme * add update page * improve mobile * terminal group nowrap * mobile improvements * allow unused again * improve mobile font sizing * improve mobile updates / alerts * mobile tabs * alert page * add server version mismatch color * new resource, clearable selector * Fix build show info tab * copy resources * keyboard shortcuts * server resource header version mismatch * fix type errors * container page server multi select * confirm button clear timeout * hash compare force uses first 8 for short hash * fix log height * copy webhooks * responsive tweaks * add icons to server stat sections * add historical server stats charts * server stat current card shows usage numbers * refine current stats more * fix shortcuts interfering with monaco brave * clean up unused * remove v1 frontend
66 lines
2.2 KiB
Docker
66 lines
2.2 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/moghtech/komodo-binaries:latest
|
|
ARG UI_IMAGE=ghcr.io/moghtech/komodo-ui: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 ${UI_IMAGE} AS ui
|
|
|
|
# Final Image
|
|
FROM debian:trixie-slim
|
|
|
|
COPY ./bin/core/starship.toml /starship.toml
|
|
COPY ./bin/core/debian-deps.sh .
|
|
RUN sh ./debian-deps.sh && rm ./debian-deps.sh
|
|
|
|
WORKDIR /app
|
|
|
|
ARG TARGETPLATFORM
|
|
|
|
# Copy both binaries initially, but only keep appropriate one for the TARGETPLATFORM.
|
|
COPY --from=x86_64 /core /app/core/linux/amd64
|
|
COPY --from=aarch64 /core /app/core/linux/arm64
|
|
RUN mv /app/core/${TARGETPLATFORM} /usr/local/bin/core && rm -r /app/core
|
|
|
|
# Same for km
|
|
COPY --from=x86_64 /km /app/km/linux/amd64
|
|
COPY --from=aarch64 /km /app/km/linux/arm64
|
|
RUN mv /app/km/${TARGETPLATFORM} /usr/local/bin/km && rm -r /app/km
|
|
|
|
# Copy default config / static ui / deno binary
|
|
COPY ./config/core.config.toml /config/.default.config.toml
|
|
COPY --from=ui /ui /app/ui
|
|
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
|
|
|
|
COPY ./bin/entrypoint.sh /usr/local/bin/entrypoint.sh
|
|
RUN chmod +x /usr/local/bin/entrypoint.sh
|
|
|
|
# Hint at the port
|
|
EXPOSE 9120
|
|
|
|
ENV KOMODO_CLI_CONFIG_PATHS="/config"
|
|
# This ensures any `komodo.cli.*` takes precedence over the Core `/config/*config.*`
|
|
ENV KOMODO_CLI_CONFIG_KEYWORDS="*config.*,*komodo.cli*.*"
|
|
|
|
ENTRYPOINT [ "entrypoint.sh" ]
|
|
CMD [ "core" ]
|
|
|
|
# Label to prevent Komodo from stopping with StopAllContainers
|
|
LABEL komodo.skip="true"
|
|
# Label for Ghcr
|
|
LABEL org.opencontainers.image.source="https://github.com/moghtech/komodo"
|
|
LABEL org.opencontainers.image.description="Komodo Core"
|
|
LABEL org.opencontainers.image.licenses="GPL-3.0"
|