diff --git a/.env.staging b/.env.staging new file mode 100644 index 0000000..83dde02 --- /dev/null +++ b/.env.staging @@ -0,0 +1 @@ +URL="https://dev.martials.no" \ No newline at end of file diff --git a/Dockerfile b/Dockerfile index f67603c..166874b 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,6 +1,8 @@ FROM node:lts-alpine AS base WORKDIR /app +ARG mode + # By copying only the package.json and package-lock.json here, we ensure that the following `-deps` steps are independent of the source code. # Therefore, the `-deps` steps will be skipped if only the source code changes. COPY package.json pnpm-lock.yaml ./ @@ -14,7 +16,11 @@ RUN npm exec -- pnpm install FROM build-deps AS build COPY . . -RUN npm exec -- pnpm run build +RUN if [ "$mode" = "staging" ]; then \ + npm exec -- pnpm run staging; \ + else \ + npm exec -- pnpm run build; \ + fi FROM base AS runtime COPY --from=prod-deps /app/node_modules ./node_modules @@ -23,4 +29,4 @@ COPY --from=build /app/dist ./dist ENV HOST=0.0.0.0 ENV PORT=4321 EXPOSE 4321 -ENTRYPOINT node ./dist/server/entry.mjs \ No newline at end of file +ENTRYPOINT exec node ./dist/server/entry.mjs \ No newline at end of file diff --git a/docker-compose.yml b/docker-compose.yml index f653e4c..c137952 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -16,5 +16,7 @@ services: build: context: . dockerfile: Dockerfile + args: + mode: staging ports: - "4322:4321" \ No newline at end of file diff --git a/package.json b/package.json index 436e1a7..814bc7e 100644 --- a/package.json +++ b/package.json @@ -6,6 +6,7 @@ "dev": "astro dev", "start": "astro dev", "build": "paraglide-js compile --project ./project.inlang --outdir ./src/paraglide && astro check && astro build", + "staging": "paraglide-js compile --project ./project.inlang --outdir ./src/paraglide && astro check && astro build --mode staging", "preview": "astro preview", "astro": "astro", "type-check": "astro check", diff --git a/src/layouts/Layout.astro b/src/layouts/Layout.astro index 97cae23..92b18e3 100644 --- a/src/layouts/Layout.astro +++ b/src/layouts/Layout.astro @@ -11,6 +11,9 @@ interface Props { class?: string } const { title, description, keywords, class: clazz } = Astro.props + +const prefix = import.meta.env.MODE === "staging" ? "[DEV] " : "" + const mainClass = "grow max-w-[1000px] m-auto sm:min-w-[500px] not-sm:w-full px-5" --- @@ -26,7 +29,7 @@ const mainClass = {keywords && } - {title} | Martin Berg Alstad + {prefix}{title} | Martin Berg Alstad