From 9eeb88e9ea6e16ba5b11fd4158960c906560a41c Mon Sep 17 00:00:00 2001 From: JorySeverijnse Date: Sun, 7 Dec 2025 22:31:32 +0100 Subject: [PATCH] created deploy site shell script and made sure i am actually loading the api key from .env --- .dockerignore | 1 + Dockerfile | 6 ++++++ deploy-site.sh | 38 ++++++++++++++++++++++++++++++++++++++ 3 files changed, 45 insertions(+) create mode 100644 deploy-site.sh diff --git a/.dockerignore b/.dockerignore index 2184ec8..20ec810 100644 --- a/.dockerignore +++ b/.dockerignore @@ -17,6 +17,7 @@ yarn-error.log* pnpm-debug.log* # Local env files +.env .env.local .env.development.local .env.test.local diff --git a/Dockerfile b/Dockerfile index 07bc731..d62e28a 100644 --- a/Dockerfile +++ b/Dockerfile @@ -2,6 +2,9 @@ FROM oven/bun:1 as builder WORKDIR /app +# Declare build argument for the API key +ARG VITE_GPT_OSS_API_KEY + # Copy configuration files and install dependencies # This layer is cached to speed up future builds COPY package.json bun.lockb ./ @@ -9,6 +12,9 @@ COPY tsconfig.json tsconfig.node.json ./ COPY vite.config.ts postcss.config.js tailwind.config.ts ./ RUN bun install --frozen-lockfile +# Set it as an environment variable for Vite to pick up during build +ENV VITE_GPT_OSS_API_KEY=$VITE_GPT_OSS_API_KEY + # Copy the rest of the source code COPY . . diff --git a/deploy-site.sh b/deploy-site.sh new file mode 100644 index 0000000..417da1c --- /dev/null +++ b/deploy-site.sh @@ -0,0 +1,38 @@ +#!/bin/bash +set -e + +# Load environment variables from .env file +if [ -f .env ]; then + export $(grep -v '^#' .env | xargs) +fi + +# Force-remove frozen-lockfile from Dockerfile (every time, just in case) +sed -i 's/bun install --frozen-lockfile/bun install/' Dockerfile 2>/dev/null || true + +# If bun.lockb is missing or broken → delete it so bun install regenerates it +[ -f bun.lockb ] && ! grep -q "lockfileVersion" bun.lockb 2>/dev/null && rm -f bun.lockb + +echo "Building your site (this will work now)..." +docker build --target builder --no-cache -t own-site-builder \ + --build-arg VITE_GPT_OSS_API_KEY="${VITE_GPT_OSS_API_KEY}" . + +echo "Deploying fresh build..." +docker create --name tmp-deploy own-site-builder + +rm -rf ~/caddy/site/jory/* +mkdir -p ~/caddy/site/jory +docker cp tmp-deploy:/app/dist/. ~/caddy/site/jory/ + +# Favicon – guaranteed +cp -f favicon.gif ~/caddy/site/jory/ 2>/dev/null || echo "No favicon.gif – skipped" + +# Cleanup +docker rm tmp-deploy +docker rmi own-site-builder + +# Restart Caddy +docker restart caddy + +echo "" +echo "DEPLOYED 100% SUCCESSFULLY" +echo "Site + favicon live now"