mirror of
https://github.com/louislam/dockge.git
synced 2025-02-22 03:25:57 +00:00
43 lines
No EOL
1.5 KiB
Docker
43 lines
No EOL
1.5 KiB
Docker
# Due to the bug of #145, Node.js's version cannot be changed, unless upstream is fixed.
|
|
# TODO: use proper devcontainer??
|
|
FROM node:18.17.1-bookworm
|
|
|
|
ENV PNPM_HOME="/pnpm"
|
|
ENV PATH="$PNPM_HOME:$PATH"
|
|
ENV NODE_ENV="development"
|
|
RUN apt update && apt install --yes --no-install-recommends \
|
|
curl \
|
|
ca-certificates \
|
|
gnupg \
|
|
unzip \
|
|
dumb-init \
|
|
sqlite3 \
|
|
&& install -m 0755 -d /etc/apt/keyrings \
|
|
&& curl -fsSL https://download.docker.com/linux/debian/gpg | gpg --dearmor -o /etc/apt/keyrings/docker.gpg \
|
|
&& chmod a+r /etc/apt/keyrings/docker.gpg \
|
|
&& echo \
|
|
"deb [arch="$(dpkg --print-architecture)" signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/debian \
|
|
"$(. /etc/os-release && echo "$VERSION_CODENAME")" stable" | \
|
|
tee /etc/apt/sources.list.d/docker.list > /dev/null \
|
|
&& apt update \
|
|
&& apt --yes --no-install-recommends install \
|
|
docker-ce-cli \
|
|
docker-compose-plugin \
|
|
&& rm -rf /var/lib/apt/lists/* \
|
|
&& npm install pnpm -g \
|
|
&& pnpm install -g tsx
|
|
|
|
# Set the working directory
|
|
WORKDIR /app
|
|
|
|
# Copy package.json and pnpm-lock.yaml to the working directory
|
|
COPY --chown=node:node ./package.json ./package.json
|
|
COPY --chown=node:node ./pnpm-lock.yaml ./pnpm-lock.yaml
|
|
RUN pnpm install
|
|
|
|
# Add the "node_modules" volume to enable caching
|
|
VOLUME [ "/app/node_modules" ]
|
|
VOLUME [ "/opt/stacks" ]
|
|
|
|
# Start the container with a shell by default
|
|
CMD [ "/bin/bash" ] |