This commit is contained in:
24
Dockerfile
24
Dockerfile
@@ -1,24 +1,30 @@
|
|||||||
FROM node:lts-alpine AS builder
|
FROM node:lts-alpine AS base
|
||||||
WORKDIR /app
|
WORKDIR /app
|
||||||
|
|
||||||
RUN npm i -g pnpm
|
RUN npm i -g pnpm
|
||||||
|
|
||||||
|
FROM base AS prod-deps
|
||||||
|
WORKDIR /app
|
||||||
|
RUN apk add --no-cache python3 make g++
|
||||||
COPY package.json pnpm-lock.yaml ./
|
COPY package.json pnpm-lock.yaml ./
|
||||||
|
RUN pnpm install --prod --frozen-lockfile
|
||||||
|
|
||||||
RUN pnpm install
|
FROM base AS build-deps
|
||||||
|
WORKDIR /app
|
||||||
|
RUN apk add --no-cache python3 make g++
|
||||||
|
COPY package.json pnpm-lock.yaml ./
|
||||||
|
RUN pnpm install --frozen-lockfile
|
||||||
|
|
||||||
|
FROM build-deps AS builder
|
||||||
|
WORKDIR /app
|
||||||
COPY . .
|
COPY . .
|
||||||
RUN pnpm run build
|
RUN pnpm run build
|
||||||
|
|
||||||
FROM node:lts-alpine AS runtime
|
FROM base AS runtime
|
||||||
WORKDIR /app
|
WORKDIR /app
|
||||||
|
|
||||||
RUN npm i -g pnpm
|
COPY --from=prod-deps /app/node_modules ./node_modules
|
||||||
|
|
||||||
COPY --from=builder /app/dist ./dist
|
COPY --from=builder /app/dist ./dist
|
||||||
COPY package.json pnpm-lock.yaml ./
|
COPY package.json ./
|
||||||
|
|
||||||
RUN pnpm install --prod
|
|
||||||
|
|
||||||
ENV HOST=0.0.0.0
|
ENV HOST=0.0.0.0
|
||||||
ENV PORT=4321
|
ENV PORT=4321
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 14 KiB After Width: | Height: | Size: 14 KiB |
@@ -57,7 +57,7 @@ const currentTeam = userMemberships.find(m => m.organization.id === currentTeamI
|
|||||||
</label>
|
</label>
|
||||||
</div>
|
</div>
|
||||||
<div class="flex-1 px-2 flex items-center gap-2">
|
<div class="flex-1 px-2 flex items-center gap-2">
|
||||||
<img src="/src/assets/logo.webp" alt="Chronus" class="h-8 w-8" />
|
<img src="/logo.webp" alt="Chronus" class="h-8 w-8" />
|
||||||
<span class="text-xl font-bold text-primary">Chronus</span>
|
<span class="text-xl font-bold text-primary">Chronus</span>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@@ -73,7 +73,7 @@ const currentTeam = userMemberships.find(m => m.organization.id === currentTeamI
|
|||||||
<!-- Sidebar content here -->
|
<!-- Sidebar content here -->
|
||||||
<li class="mb-6">
|
<li class="mb-6">
|
||||||
<a href="/dashboard" class="flex items-center gap-3 text-2xl font-bold text-primary hover:bg-transparent">
|
<a href="/dashboard" class="flex items-center gap-3 text-2xl font-bold text-primary hover:bg-transparent">
|
||||||
<img src="/src/assets/logo.webp" alt="Chronus" class="h-10 w-10" />
|
<img src="/logo.webp" alt="Chronus" class="h-10 w-10" />
|
||||||
Chronus
|
Chronus
|
||||||
</a>
|
</a>
|
||||||
</li>
|
</li>
|
||||||
|
|||||||
@@ -10,7 +10,7 @@ if (Astro.locals.user) {
|
|||||||
<div class="hero h-full bg-linear-to-br from-base-100 via-base-200 to-base-300 flex items-center justify-center py-12">
|
<div class="hero h-full bg-linear-to-br from-base-100 via-base-200 to-base-300 flex items-center justify-center py-12">
|
||||||
<div class="hero-content text-center">
|
<div class="hero-content text-center">
|
||||||
<div class="max-w-4xl">
|
<div class="max-w-4xl">
|
||||||
<img src="/src/assets/logo.webp" alt="Chronus Logo" class="h-24 w-24 mx-auto mb-6" />
|
<img src="/logo.webp" alt="Chronus Logo" class="h-24 w-24 mx-auto mb-6" />
|
||||||
<h1 class="text-6xl md:text-7xl font-bold mb-6 text-primary">
|
<h1 class="text-6xl md:text-7xl font-bold mb-6 text-primary">
|
||||||
Chronus
|
Chronus
|
||||||
</h1>
|
</h1>
|
||||||
|
|||||||
@@ -10,7 +10,7 @@ if (Astro.locals.user) {
|
|||||||
<div class="flex justify-center items-center min-h-screen bg-base-100">
|
<div class="flex justify-center items-center min-h-screen bg-base-100">
|
||||||
<div class="card bg-base-100 shadow-2xl w-full max-w-md mx-4">
|
<div class="card bg-base-100 shadow-2xl w-full max-w-md mx-4">
|
||||||
<div class="card-body">
|
<div class="card-body">
|
||||||
<img src="/src/assets/logo.webp" alt="Chronus" class="h-16 w-16 mx-auto mb-4" />
|
<img src="/logo.webp" alt="Chronus" class="h-16 w-16 mx-auto mb-4" />
|
||||||
<h2 class="text-3xl font-bold text-center mb-2">Welcome Back</h2>
|
<h2 class="text-3xl font-bold text-center mb-2">Welcome Back</h2>
|
||||||
<p class="text-center text-base-content/60 mb-6">Sign in to continue to Chronus</p>
|
<p class="text-center text-base-content/60 mb-6">Sign in to continue to Chronus</p>
|
||||||
|
|
||||||
|
|||||||
@@ -26,7 +26,7 @@ if (!isFirstUser) {
|
|||||||
<div class="flex justify-center items-center min-h-screen bg-base-100">
|
<div class="flex justify-center items-center min-h-screen bg-base-100">
|
||||||
<div class="card bg-base-100 shadow-2xl w-full max-w-md mx-4">
|
<div class="card bg-base-100 shadow-2xl w-full max-w-md mx-4">
|
||||||
<div class="card-body">
|
<div class="card-body">
|
||||||
<img src="/src/assets/logo.webp" alt="Chronus" class="h-16 w-16 mx-auto mb-4" />
|
<img src="/logo.webp" alt="Chronus" class="h-16 w-16 mx-auto mb-4" />
|
||||||
<h2 class="text-3xl font-bold text-center mb-2">Create Account</h2>
|
<h2 class="text-3xl font-bold text-center mb-2">Create Account</h2>
|
||||||
<p class="text-center text-base-content/60 mb-6">Join Chronus to start tracking time</p>
|
<p class="text-center text-base-content/60 mb-6">Join Chronus to start tracking time</p>
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user