mirror of
https://github.com/moghtech/komodo.git
synced 2026-04-29 04:10:01 -05:00
* consolidate deserializers * key value list doc * use string list deserializers for all entity Vec<String> * add additional env files support * plumbing for Action resource * js client readme indentation * regen lock * add action UI * action backend * start on action frontend * update lock * get up to speed * get action started * clean up default action file * seems to work * toml export include action * action works * action works part 2 * bump rust version to 1.82.0 * copy deno bin from bin image * action use local dir * update not having changes doesn't return error * format with prettier * support yaml formatting with prettier * variable no change is Ok
46 lines
1.4 KiB
Docker
46 lines
1.4 KiB
Docker
## This one produces smaller images,
|
|
## but alpine uses `musl` instead of `glibc`.
|
|
## This makes it take longer / more resources to build,
|
|
## and may negatively affect runtime performance.
|
|
|
|
# Build Core
|
|
FROM rust:1.82.0-alpine AS core-builder
|
|
WORKDIR /builder
|
|
RUN apk update && apk --no-cache add musl-dev openssl-dev openssl-libs-static
|
|
COPY . .
|
|
RUN cargo build -p komodo_core --release
|
|
|
|
# Build Frontend
|
|
FROM node:20.12-alpine AS frontend-builder
|
|
WORKDIR /builder
|
|
COPY ./frontend ./frontend
|
|
COPY ./client/core/ts ./client
|
|
RUN cd client && yarn && yarn build && yarn link
|
|
RUN cd frontend && yarn link komodo_client && yarn && yarn build
|
|
|
|
# Final Image
|
|
FROM alpine:3.20
|
|
|
|
# Install Deps
|
|
RUN apk update && apk add --no-cache --virtual .build-deps \
|
|
openssl ca-certificates git git-lfs curl
|
|
|
|
# Setup an application directory
|
|
WORKDIR /app
|
|
|
|
# Copy
|
|
COPY ./config/core.config.toml /config/config.toml
|
|
COPY --from=core-builder /builder/target/release/core /app
|
|
COPY --from=frontend-builder /builder/frontend/dist /app/frontend
|
|
COPY --from=denoland/deno:bin /deno /usr/local/bin/deno
|
|
|
|
# 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
|
|
|
|
# Using ENTRYPOINT allows cli args to be passed, eg using "command" in docker compose.
|
|
ENTRYPOINT [ "/app/core" ] |