komodo Docker & Self-Hosted Deployment

GitHub

A tool to build and deploy software on many servers ๐ŸฆŽ

11,752 stars Rust Rust 1 file ยท ~1,727 tokens
1. Pull Image (DOCKERHUB) docker pull moghtech/komodo:latest
2. Docker Run (1-Click Launch) docker run -d --name komodo -p 80:80 --restart always moghtech/komodo:latest
3. Podman Run podman run -d --name komodo -p 80:80 --restart always moghtech/komodo:latest
4. Skopeo Inspect (Zero-Pull Manifest) skopeo inspect docker://docker.io/moghtech/komodo:latest
5. ORAS Pull (OCI Artifact) oras pull moghtech/komodo:latest
docsite/Dockerfile
FROM node:22.12-alpine AS builder

ARG DOCSITE_URL
ARG DOCSITE_BASE_URL=/

WORKDIR /builder

COPY package.json yarn.lock ./
RUN yarn install --frozen-lockfile

COPY ./docs ./docs
COPY ./src ./src
COPY ./static ./static
COPY ./babel.config.js ./babel.config.js
COPY ./docusaurus.config.ts ./docusaurus.config.ts
COPY ./sidebars.ts ./sidebars.ts
COPY ./tsconfig.json ./tsconfig.json

RUN DOCSITE_URL=${DOCSITE_URL} DOCSITE_BASE_URL=${DOCSITE_BASE_URL} yarn build

FROM caddy:latest

ARG DOCSITE_BASE_URL=/

# Copy into caddy image /srv, nested under the base url path
COPY --from=builder /builder/build /srv${DOCSITE_BASE_URL}

# Add a basic caddyfile serving http.
# BASE is the base url without its trailing slash (empty when base url is "/"),
# used to redirect e.g. /komodo -> /komodo/ so relative urls resolve correctly.
RUN BASE="${DOCSITE_BASE_URL%/}" && cat > /etc/caddy/Caddyfile <<EOF
:80 {
    root * /srv
    ${BASE:+redir $BASE $BASE/ 308}
    file_server
    try_files {path} {path}.html ${DOCSITE_BASE_URL}index.html
}
EOF

EXPOSE 80