diff --git a/Dockerfile b/Dockerfile index 0ee9f1d0..308d2976 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,4 +1,7 @@ FROM node:12-alpine +RUN apk add --update-cache \ + libsecret \ + && rm -rf /var/cache/apk/* WORKDIR /opt/vsce COPY package.json package-lock.json ./ RUN npm install @@ -7,4 +10,4 @@ RUN npm run compile RUN rm package-lock.json tsconfig.json VOLUME /workspace WORKDIR /workspace -ENTRYPOINT ["/opt/vsce/vsce"] \ No newline at end of file +ENTRYPOINT ["/opt/vsce/vsce"] diff --git a/README.md b/README.md index d6fc899f..f3bedf4b 100644 --- a/README.md +++ b/README.md @@ -11,6 +11,17 @@ Or simply [Docker](#via-docker). +### Linux + +In order to save credentials safely, this project uses [keytar](https://www.npmjs.com/package/keytar) which uses `libsecret`, which you may need to install before publishing extensions. Setting the `VSCE_STORE=file` environment variable will revert back to the file credential store. Using the `VSCE_PAT` environment variable will also avoid using keytar. + +Depending on your distribution, you will need to run the following command: + +- Debian/Ubuntu: `sudo apt-get install libsecret-1-dev` +- Alpine: `apk add libsecret` +- Red Hat-based: `sudo yum install libsecret-devel` +- Arch Linux: `sudo pacman -S libsecret` + ## Usage Install vsce globally: