46 lines
2.5 KiB
Docker
46 lines
2.5 KiB
Docker
# Vaultnord sitt hvelv-image: offisiell Vaultwarden med vårt preg lagt inn.
|
|
#
|
|
# Ingen kildekode er endret. Vi legger til statiske filer i den ferdigbygde
|
|
# web-klienten og setter inn to linjer i index.html. Oppgradering er å bytte
|
|
# VW_VERSION og bygge på nytt - det tar sekunder, og web-klienten bygges ikke.
|
|
#
|
|
# Endringene er publisert i git.skui.io/vaultnord.no/vaultnord-brand, som AGPL
|
|
# krever når man distribuerer en endret versjon.
|
|
|
|
ARG VW_VERSION=alpine
|
|
FROM vaultwarden/server:${VW_VERSION}
|
|
|
|
# Ressursene ligger i brand/ i det offentlige repoet og i
|
|
# vault-image/brand/ i arbeidsrepoet. Byggekonteksten avgjør hvilken.
|
|
ARG BRAND_DIR=vault-image/brand
|
|
COPY ${BRAND_DIR}/ /web-vault/_vaultnord/
|
|
|
|
# Egne e-postmaler. Uten disse går invitasjonene ut med Vaultwardens navn og
|
|
# utseende - det er kundens første inntrykk av tjenesten, og det skal være vårt.
|
|
ARG MAIL_DIR=vault-image/mail
|
|
COPY ${MAIL_DIR}/ /vaultnord/templates/
|
|
|
|
RUN set -eux; \
|
|
cp /web-vault/_vaultnord/favicon.png /web-vault/images/favicon-32x32.png; \
|
|
cp /web-vault/_vaultnord/favicon-16.png /web-vault/images/favicon-16x16.png; \
|
|
cp /web-vault/_vaultnord/apple-touch-icon.png /web-vault/images/apple-touch-icon.png; \
|
|
sed -i 's#</head>#<link rel="stylesheet" href="/_vaultnord/brand.css"><link rel="icon" href="/_vaultnord/favicon.png"></head>#' /web-vault/index.html; \
|
|
sed -i 's#</body>#<div id="vaultnord-footer">Driftet av <a href="https://vaultnord.no">Vaultnord</a> \· <a href="/_vaultnord/kilde.html">kildekode og lisens</a></div></body>#' /web-vault/index.html; \
|
|
grep -q '_vaultnord/brand.css' /web-vault/index.html; \
|
|
\
|
|
# Web-klienten sier "Bitwarden" i grensesnittet - i velkomstskjermen, i
|
|
# hjelpetekster og i knappene. Vi bytter navnet i språkfilene. URL-er går
|
|
# klar: de skriver bitwarden.com med liten forbokstav.
|
|
find /web-vault/locales -name messages.json -exec \
|
|
sed -i 's/Bitwarden/Vaultnord/g' {} +; \
|
|
grep -q 'Vaultnord' /web-vault/locales/nb/messages.json; \
|
|
\
|
|
# Brandingen henger på navn i web-klienten. Finnes de ikke lenger, har
|
|
# oppstrøms endret noe, og pynten ville blitt stille borte. Da skal bygget
|
|
# stoppe her i stedet - se lista øverst i brand.css.
|
|
for marker in new-logo-themed bit-nav-logo bit-landing-footer \
|
|
--color-brand-600 --color-illustration-bg-primary tw-min-h-screen; do \
|
|
grep -rqs -- "$marker" /web-vault/ \
|
|
|| { echo "FANT IKKE '$marker' i web-klienten - brandingen må oppdateres" >&2; exit 1; }; \
|
|
done
|