forked from coracle/flotilla
a42ba5446a
The Docker build wasn't making use of docker's cache because the .git directory was being copied into the build context. This means that even if the app did not change, if anything in git changed then docker would rebuild the entire app. This excludes the .git folder from the docker build, instead relying on the user to pass in the build hash at build time. Which is annoying but I don't think there's a better way around it. This was annoying me because I am deploying a self-hosted version of flotilla from a git branch via ansible and it was rebuilding flotilla every time. Co-authored-by: mplorentz <mplorentz@noreply.gitea.coracle.social> Reviewed-on: coracle/flotilla#88 Co-authored-by: Matt Lorentz <mplorentz@noreply.coracle.social> Co-committed-by: Matt Lorentz <mplorentz@noreply.coracle.social>
41 lines
1.1 KiB
Bash
Executable File
41 lines
1.1 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
|
|
temp_env=$(declare -p -x)
|
|
|
|
if [ -f .env.template ]; then
|
|
source .env.template
|
|
fi
|
|
if [ -f .env ]; then
|
|
source .env
|
|
fi
|
|
|
|
# Avoid overwriting env vars provided directly
|
|
# https://stackoverflow.com/a/69127685/1467342
|
|
eval "$temp_env"
|
|
|
|
if [[ -z $VITE_BUILD_HASH ]]; then
|
|
export VITE_BUILD_HASH=$(git rev-parse --short HEAD)
|
|
fi
|
|
|
|
if [[ $VITE_PLATFORM_LOGO =~ ^https:// ]]; then
|
|
curl -fSL "$VITE_PLATFORM_LOGO" -o static/logo.png
|
|
export VITE_PLATFORM_LOGO=static/logo.png
|
|
fi
|
|
|
|
# Ensure generator uses local path (dotenv may have loaded URL from .env)
|
|
VITE_PLATFORM_LOGO="${VITE_PLATFORM_LOGO}" npx pwa-assets-generator
|
|
npx vite build
|
|
|
|
# Replace index.html variables with stuff from our env
|
|
perl -i -pe"s|{DESCRIPTION}|$VITE_PLATFORM_DESCRIPTION|g" build/index.html
|
|
perl -i -pe"s|{ACCENT}|$VITE_PLATFORM_ACCENT|g" build/index.html
|
|
perl -i -pe"s|{NAME}|$VITE_PLATFORM_NAME|g" build/index.html
|
|
perl -i -pe"s|{URL}|$VITE_PLATFORM_URL|g" build/index.html
|
|
|
|
npx cap sync
|
|
npx @capacitor/assets generate \
|
|
--iconBackgroundColor '#eeeeee' \
|
|
--iconBackgroundColorDark '#222222' \
|
|
--splashBackgroundColor '#ffffff' \
|
|
--splashBackgroundColorDark '#191E24'
|