aboutsummaryrefslogtreecommitdiffstats
path: root/scripts
diff options
context:
space:
mode:
authorJan T <jans.tuomi@gmail.com>2024-02-14 17:18:30 +0200
committerGitHub <noreply@github.com>2024-02-14 10:18:30 -0500
commit2af066038351ab0634c359a688fe712a539992b4 (patch)
tree3ca4bb30f4813ff7e7d87354c5fdd83dcb19cb59 /scripts
parent50525ad8810de356856eb098a1e0882ce3607b9f (diff)
Optimize docker image size (#91)
* Move prisma to runtime dependencies * Optimize Dockerfile and build script * Fix: remove mention of generated next-env.d.ts in Dockerfile * Add missing reset.d.ts file to Dockerfile * Remove compression steps from Dockerfile and entrypoint script * Add an env file with mocked env vars added for Docker production builds * Use server actions to get runtime env vars * Refactor types and names * Rollback serverActions, use parsed Zod object for runtime env * Reintroduce featureFlags object to avoid passing secret envs to the frontend * Improve string to boolean coercion Co-authored-by: Sebastien Castiel <sebastien@castiel.me> * Run prettier autoformat * Fix type issue, rename function to match behaviour better --------- Co-authored-by: Lauri Vuorela <lauri.vuorela@gmail.com> Co-authored-by: Sebastien Castiel <sebastien@castiel.me>
Diffstat (limited to 'scripts')
-rwxr-xr-xscripts/build-image.sh3
-rw-r--r--scripts/build.env22
-rwxr-xr-xscripts/container-entrypoint.sh5
3 files changed, 26 insertions, 4 deletions
diff --git a/scripts/build-image.sh b/scripts/build-image.sh
index 95b8acb..c900089 100755
--- a/scripts/build-image.sh
+++ b/scripts/build-image.sh
@@ -5,9 +5,6 @@ SPLIIT_VERSION=$(node -p -e "require('./package.json').version")
# we need to set dummy data for POSTGRES env vars in order for build not to fail
docker buildx build \
- --no-cache \
- --build-arg POSTGRES_PRISMA_URL=postgresql://build:@db \
- --build-arg POSTGRES_URL_NON_POOLING=postgresql://build:@db \
-t ${SPLIIT_APP_NAME}:${SPLIIT_VERSION} \
-t ${SPLIIT_APP_NAME}:latest \
.
diff --git a/scripts/build.env b/scripts/build.env
new file mode 100644
index 0000000..98b3fac
--- /dev/null
+++ b/scripts/build.env
@@ -0,0 +1,22 @@
+# build file that contains all possible env vars with mocked values
+# as most of them are used at build time in order to have the production build to work properly
+
+# db
+POSTGRES_PASSWORD=1234
+
+# app
+POSTGRES_PRISMA_URL=postgresql://postgres:${POSTGRES_PASSWORD}@db
+POSTGRES_URL_NON_POOLING=postgresql://postgres:${POSTGRES_PASSWORD}@db
+
+# app-minio
+NEXT_PUBLIC_ENABLE_EXPENSE_DOCUMENTS=false
+S3_UPLOAD_KEY=AAAAAAAAAAAAAAAAAAAA
+S3_UPLOAD_SECRET=AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+S3_UPLOAD_BUCKET=spliit
+S3_UPLOAD_REGION=eu-north-1
+S3_UPLOAD_ENDPOINT=s3://minio.example.com
+
+# app-openai
+NEXT_PUBLIC_ENABLE_RECEIPT_EXTRACT=false
+OPENAI_API_KEY=XXXXXXXXXXXXXXXXXXXXXXXXXXXX
+NEXT_PUBLIC_ENABLE_CATEGORY_EXTRACT=false
diff --git a/scripts/container-entrypoint.sh b/scripts/container-entrypoint.sh
index 364787e..5871314 100755
--- a/scripts/container-entrypoint.sh
+++ b/scripts/container-entrypoint.sh
@@ -1,3 +1,6 @@
#!/bin/bash
-prisma migrate deploy
+
+set -euxo pipefail
+
+npx prisma migrate deploy
npm run start