Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 7 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,6 +1,10 @@
# build output
dist/

# Bun
bun.lockb
.bun/

# generated types
.astro/

Expand Down Expand Up @@ -45,3 +49,6 @@ Dockerfile.bak

# Cache files
.cache/

# others
bunfig.toml
40 changes: 12 additions & 28 deletions Dockerfile
Original file line number Diff line number Diff line change
@@ -1,51 +1,35 @@
FROM node:24.11.1-alpine3.22 AS base
WORKDIR /app

ENV ASTRO_TELEMETRY_DISABLED=true

FROM base AS development

ENV NODE_ENV=development
ENV HOST=0.0.0.0
ENV PORT=4321

RUN apk update && \
apk add --no-cache git
COPY package*.json ./
COPY ./.kube/config.yaml ./.kube/config.yaml
RUN --mount=type=cache,target=/root/.npm npm install
COPY . .
RUN chmod -R 755 src/pages

EXPOSE 4321
CMD ["npm", "run", "dev", "--", "--host", "--allowed-hosts=website.staging.env.datum.net"]

FROM base AS build

ENV NODE_ENV=production
ENV HOST=0.0.0.0
ENV PORT=4321

COPY package*.json ./
COPY ./.kube/config.yaml ./.kube/config.yaml
RUN --mount=type=cache,target=/root/.npm npm install --ignore-scripts
COPY . .
RUN chmod -R 755 src/pages

RUN npm run build

FROM node:24.11.1-alpine3.22 AS production
FROM base AS development
ENV NODE_ENV=development
COPY ./.kube/config.yaml ./.kube/config.yaml
RUN --mount=type=cache,target=/root/.npm npm install
COPY . .
RUN chmod -R 755 src/pages
CMD ["npm", "run", "dev", "--", "--host", "--allowed-hosts=website.staging.env.datum.net"]

FROM node:24.11.1-alpine3.22 AS production
ENV NODE_ENV=production
ENV HOST=0.0.0.0
ENV PORT=4321

WORKDIR /app

COPY --from=build /app/dist ./dist
COPY --from=build /app/package*.json ./
COPY --from=build /app/.kube/config.yaml ./.kube/config.yaml
RUN --mount=type=cache,target=/root/.npm npm install --omit=dev --ignore-scripts
COPY --from=build /app/src/pages ./src/pages
RUN chmod -R 755 src/pages

ENV HOST=0.0.0.0
ENV PORT=4321
EXPOSE 4321
CMD ["node", "./dist/server/entry.mjs"]
15 changes: 7 additions & 8 deletions astro.config.mjs
Original file line number Diff line number Diff line change
@@ -1,4 +1,3 @@
// @ts-check
import { defineConfig } from 'astro/config';
import robotsTxt from 'astro-robots-txt';
import tailwindcss from '@tailwindcss/vite';
Expand All @@ -10,9 +9,10 @@ import node from '@astrojs/node';

import playformCompress from '@playform/compress';

import glossary from './src/libs/integration/glossary.ts';
import sitemap from './src/libs/integration/sitemap.ts';
import announcement from './src/libs/integration/announcement.ts';
import glossary from './src/plugins/glossary.js';
import sitemap from './src/plugins/sitemap.js';
import announcement from './src/plugins/announcement.ts';
import { remarkModifiedTime } from './src/plugins/remarkModifiedTime.mjs';

const env = loadEnv(process.env.NODE_ENV || 'development', process.cwd(), '');

Expand All @@ -27,6 +27,9 @@ export default defineConfig({
adapter: node({
mode: 'standalone',
}),
markdown: {
remarkPlugins: [remarkModifiedTime],
},
image: {
layout: 'constrained',
},
Expand Down Expand Up @@ -188,9 +191,7 @@ export default defineConfig({
SVG: true,
}),
],

vite: {
// @ts-expect-error - Tailwind Vite plugin type mismatch with Vite's expected plugin types
plugins: [tailwindcss()],
css: {
devSourcemap: true,
Expand All @@ -199,10 +200,8 @@ export default defineConfig({
noExternal: ['zod'],
},
},

experimental: {},
prefetch: true,

redirects: {
'/product': '/features/',
'/feature/': '/features/',
Expand Down
Loading