Deps + Bun
All checks were successful
Docker Deploy / build-and-push (push) Successful in 6m9s

This commit is contained in:
2026-03-03 13:30:43 -07:00
parent 42492be284
commit 76d3e0cd41
6 changed files with 1770 additions and 7616 deletions

View File

@@ -12,20 +12,20 @@ jobs:
packages: write
steps:
- name: Checkout code
uses: actions/checkout@v3
uses: actions/checkout@v4
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v2
uses: docker/setup-buildx-action@v3
- name: Login to Container Registry
uses: docker/login-action@v2
uses: docker/login-action@v3
with:
registry: ${{ secrets.REPO_HOST }}
username: ${{ github.repository_owner }}
password: ${{ secrets.DEPLOY_TOKEN }}
- name: Build and push
uses: docker/build-push-action@v4
uses: docker/build-push-action@v6
with:
context: .
platforms: linux/amd64
@@ -33,3 +33,6 @@ jobs:
tags: |
${{ secrets.REPO_HOST }}/${{ github.repository_owner }}/${{ github.event.repository.name }}:${{ github.sha }}
${{ secrets.REPO_HOST }}/${{ github.repository_owner }}/${{ github.event.repository.name }}:latest
provenance: false
cache-from: type=registry,ref=${{ secrets.REPO_HOST }}/${{ github.repository_owner }}/${{ github.event.repository.name }}:buildcache
cache-to: type=registry,ref=${{ secrets.REPO_HOST }}/${{ github.repository_owner }}/${{ github.event.repository.name }}:buildcache,mode=max

View File

@@ -1,35 +1,28 @@
FROM node:24-alpine AS base
FROM oven/bun:1.3.9-alpine AS base
WORKDIR /app
RUN corepack enable && corepack prepare pnpm@latest --activate
FROM base AS prod-deps
COPY package.json bun.lock ./
RUN --mount=type=cache,id=bun,target=/root/.bun/install/cache \
bun install --production --frozen-lockfile || bun install --production
FROM base AS builder
WORKDIR /app
RUN apk add --no-cache python3 make g++ libc6-compat
COPY package.json pnpm-lock.yaml ./
RUN --mount=type=cache,id=pnpm,target=/root/.local/share/pnpm/store \
pnpm install --frozen-lockfile || pnpm install
COPY package.json bun.lock ./
RUN --mount=type=cache,id=bun,target=/root/.bun/install/cache \
bun install --frozen-lockfile || bun install
COPY . .
RUN pnpm run build
RUN bun run build
RUN pnpm prune --prod
FROM node:24-alpine AS runtime
FROM base AS runtime
WORKDIR /app
RUN apk add --no-cache libc6-compat vips
COPY --from=builder /app/node_modules ./node_modules
COPY --from=builder /app/dist ./dist
COPY --from=builder /app/drizzle ./drizzle
COPY --from=builder /app/scripts ./scripts
COPY --from=prod-deps /app/node_modules ./node_modules
COPY package.json ./
ENV HOST=0.0.0.0
ENV PORT=4321
EXPOSE 4321
CMD ["sh", "-c", "node ./scripts/migrate.js && node ./dist/server/entry.mjs"]
CMD ["bun", "run", "./dist/server/entry.mjs"]

1715
bun.lock Normal file

File diff suppressed because it is too large Load Diff

View File

@@ -5,7 +5,8 @@
nixpkgs.url = "github:nixos/nixpkgs/nixos-25.11";
};
outputs = { self, nixpkgs }:
outputs =
{ nixpkgs }:
let
allSystems = [
"x86_64-linux"
@@ -14,12 +15,19 @@
"aarch64-darwin"
];
forAllSystems = f: nixpkgs.lib.genAttrs allSystems (system: f {
forAllSystems =
f:
nixpkgs.lib.genAttrs allSystems (
system:
f {
pkgs = import nixpkgs { inherit system; };
});
}
);
in
{
devShells = forAllSystems ({ pkgs }: {
devShells = forAllSystems (
{ pkgs }:
{
default = pkgs.mkShell {
packages = with pkgs; [
nodejs_24
@@ -33,6 +41,7 @@
echo "pnpm version: $(pnpm --version)"
'';
};
});
}
);
};
}

View File

@@ -13,24 +13,24 @@
},
"dependencies": {
"@astrojs/check": "0.9.6",
"@astrojs/node": "10.0.0-beta.4",
"@astrojs/vue": "6.0.0-beta.1",
"@astrojs/node": "9.5.4",
"@astrojs/vue": "5.1.4",
"@ceereals/vue-pdf": "^0.2.1",
"@libsql/client": "^0.17.0",
"@simplewebauthn/browser": "^13.2.2",
"@simplewebauthn/server": "^13.2.2",
"@tailwindcss/vite": "^4.1.18",
"astro": "6.0.0-beta.11",
"@simplewebauthn/server": "^13.2.3",
"@tailwindcss/vite": "^4.2.1",
"astro": "5.18.0",
"bcryptjs": "^3.0.3",
"chart.js": "^4.5.1",
"daisyui": "^5.5.18",
"daisyui": "^5.5.19",
"dotenv": "^17.3.1",
"drizzle-orm": "0.45.1",
"jsonwebtoken": "^9.0.3",
"nanoid": "^5.1.6",
"tailwindcss": "^4.1.18",
"tailwindcss": "^4.2.1",
"typescript": "^5.9.3",
"vue": "^3.5.28",
"vue": "^3.5.29",
"vue-chartjs": "^5.3.3"
},
"devDependencies": {

7566
pnpm-lock.yaml generated

File diff suppressed because it is too large Load Diff