diff --git a/.dockerignore b/.dockerignore new file mode 100644 index 00000000..a9c8231f --- /dev/null +++ b/.dockerignore @@ -0,0 +1,3 @@ +.dockerignore +Dockerfile +node_modules diff --git a/Dockerfile b/Dockerfile index 90902791..a33734e9 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,6 +1,30 @@ -FROM node:hydrogen-alpine -WORKDIR /app +FROM node:21-alpine + +# Set labels +LABEL repo="https://github.com/HeyPuter/puter" +LABEL license="AGPL-3.0,https://github.com/HeyPuter/puter/blob/master/LICENSE.txt" +LABEL version="v1.2.40-beta" + +# Debugging +RUN apk add --no-cache bash # useful for debugging + +# Setup working directory +RUN mkdir -p /opt/puter/app +WORKDIR /opt/puter/app + +# Add source files +# NOTE: This might change (https://github.com/HeyPuter/puter/discussions/32) COPY . . -RUN yarn install -CMD ["node", "dev-server.js"] + +# Set permissions +RUN chown -R node:node /opt/puter/app +USER node + +# Install node modules +RUN npm cache clean --force \ + && npm install + EXPOSE 4000 + + +CMD [ "npm", "start" ]