32 lines
961 B
Docker
32 lines
961 B
Docker
# Runtime-only image — expects Theia to already be compiled on the host.
|
|
# Run `npm run build:local` first, then `docker build -f Dockerfile.runtime ...`
|
|
|
|
FROM node:20-bookworm-slim
|
|
|
|
RUN apt-get update && apt-get install -y --no-install-recommends \
|
|
git \
|
|
curl \
|
|
libsecret-1-0 \
|
|
libx11-6 \
|
|
libxkbfile1 \
|
|
&& rm -rf /var/lib/apt/lists/*
|
|
|
|
RUN mkdir -p /home/node/workspace /home/node/.theia && \
|
|
chown -R node:node /home/node
|
|
|
|
WORKDIR /home/node
|
|
|
|
# Copy the pre-compiled output from the host
|
|
COPY --chown=node:node node_modules ./node_modules
|
|
COPY --chown=node:node packages ./packages
|
|
COPY --chown=node:node dev-packages ./dev-packages
|
|
COPY --chown=node:node examples/browser ./examples/browser
|
|
COPY --chown=node:node package.json ./package.json
|
|
|
|
COPY startup-custom.sh /startup.sh
|
|
RUN chmod +x /startup.sh && chown node:node /startup.sh
|
|
|
|
USER node
|
|
EXPOSE 3000
|
|
ENTRYPOINT ["/startup.sh"]
|