vw_small

Hardened fork of Vaultwarden (https://github.com/dani-garcia/vaultwarden) with fewer features.
git clone https://git.philomathiclife.com/repos/vw_small
Log | Files | Refs | README

commit 818b5112678c15b764be1629d33bbc15aa0a3fcf
parent b4a42054f952ca803fb411b1516960f64d2abf78
Author: Miroslav Prasil <miroslav@prasil.info>
Date:   Wed, 18 Apr 2018 12:44:28 +0100

Fetch Vault from upstream when building Docker image

Diffstat:
MDockerfile | 29++++++++++++++++++++++++++++-
MREADME.md | 2++
Aweb-vault/settings.Production.json | 10++++++++++
3 files changed, 40 insertions(+), 1 deletion(-)

diff --git a/Dockerfile b/Dockerfile @@ -1,6 +1,33 @@ # Using multistage build: # https://docs.docker.com/develop/develop-images/multistage-build/ # https://whitfin.io/speeding-up-rust-docker-builds/ +####################### VAULT BUILD IMAGE ####################### +FROM node:9-alpine as vault + +ENV VAULT_VERSION "1.26.0" +ENV URL "https://github.com/bitwarden/web/archive/v${VAULT_VERSION}.tar.gz" + +RUN apk add --update-cache --upgrade \ + curl \ + git \ + tar \ + && npm install -g \ + gulp-cli \ + gulp + +RUN mkdir /web-build \ + && cd /web-build \ + && curl -L "${URL}" | tar -xvz --strip-components=1 + +WORKDIR /web-build + +COPY /web-vault/settings.Production.json /web-build/ + +RUN git config --global url."https://github.com/".insteadOf ssh://git@github.com/ \ + && npm install \ + && gulp dist:selfHosted \ + && mv dist /web-vault + ########################## BUILD IMAGE ########################## # We need to use the Rust build image, because # we need the Rust compiler and Cargo tooling @@ -53,7 +80,7 @@ EXPOSE 80 # Copies the files from the context (env file and web-vault) # and the binary from the "build" stage to the current stage COPY .env . -COPY web-vault ./web-vault +COPY --from=vault /web-vault ./web-vault COPY --from=build app/target/release/bitwarden_rs . # Configures the startup! diff --git a/README.md b/README.md @@ -40,6 +40,8 @@ cargo build ``` ## How to update the web-vault used +If you're using docker image, you can just update `VAULT_VERSION` variable in Dockerfile and rebuild the image. + Install `node.js` and either `yarn` or `npm` (usually included with node) Clone the web-vault outside the project: diff --git a/web-vault/settings.Production.json b/web-vault/settings.Production.json @@ -0,0 +1,9 @@ +{ + "appSettings": { + "apiUri": "/api", + "identityUri": "/identity", + "iconsUri": "/icons", + "stripeKey": "", + "braintreeKey": "" + } +} +\ No newline at end of file