From 400b1aac8dc5529b50b3a7d8918eb1696368cf00 Mon Sep 17 00:00:00 2001 From: oiov Date: Sun, 25 May 2025 15:02:16 +0800 Subject: [PATCH] test docker build --- Dockerfile | 34 +++++++--------- README.md | 1 + app/(auth)/login/page.tsx | 2 +- docker-compose.yml | 85 ++++++++++++++++++++++----------------- lib/utils.ts | 2 +- 5 files changed, 65 insertions(+), 59 deletions(-) diff --git a/Dockerfile b/Dockerfile index 23a3898..a56e4c3 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,8 +1,6 @@ FROM node:22-alpine AS base -# Install dependencies only when needed FROM base AS deps -# Check https://github.com/nodejs/docker-node/tree/b4117f9333da4138b03a546ec926ef50a31506c3#nodealpine to understand why libc6-compat might be needed. RUN apk add --no-cache libc6-compat WORKDIR /app @@ -21,23 +19,22 @@ WORKDIR /app RUN npm install -g pnpm -ARG DATABASE_URL="" -ARG AUTH_SECRET="" -ARG NEXT_PUBLIC_APP_URL=http://localhost:3000 -ARG GOOGLE_CLIENT_ID="" -ARG GOOGLE_CLIENT_SECRET="" -ARG GITHUB_ID="" -ARG GITHUB_SECRET="" -ARG LinuxDo_CLIENT_ID="" -ARG LinuxDo_CLIENT_SECRET="" -ARG RESEND_API_KEY="res" -ARG NEXT_PUBLIC_EMAIL_R2_DOMAIN="" -ARG NEXT_PUBLIC_OPEN_SIGNUP="1" -ARG NEXT_PUBLIC_GOOGLE_ID="" -ARG SCREENSHOTONE_BASE_URL="" -ARG GITHUB_TOKEN="ghp_" +# ARG NEXT_PUBLIC_APP_URL="http://localhost:3000" +ARG RESEND_API_KEY="re_" +# ARG NEXT_PUBLIC_OPEN_SIGNUP="1" +# ARG GITHUB_TOKEN="" +# ARG AUTH_SECRET="" +# ARG DATABASE_URL="" +# ARG GOOGLE_CLIENT_ID="" +# ARG GOOGLE_CLIENT_SECRET="" +# ARG GITHUB_ID="" +# ARG GITHUB_SECRET="" +# ARG LinuxDo_CLIENT_ID="" +# ARG LinuxDo_CLIENT_SECRET="" +# ARG NEXT_PUBLIC_EMAIL_R2_DOMAIN="" +# ARG NEXT_PUBLIC_GOOGLE_ID="" +# ARG SCREENSHOTONE_BASE_URL="" -# COPY .env.example .env COPY --from=deps /app/node_modules ./node_modules COPY . . @@ -51,7 +48,6 @@ RUN npm install -g pnpm ENV NODE_ENV=production ENV IS_DOCKER=true -# 复制必要文件 COPY --from=builder /app/public ./public # Automatically leverage output traces to reduce image size diff --git a/README.md b/README.md index d0ef57a..c5aefba 100644 --- a/README.md +++ b/README.md @@ -53,6 +53,7 @@ Remember to fill in the necessary environment variables. Fill in the environment variables in the `docker-compose.yml`, then: ```bash +# Image: ghcr.io/oiov/wr.do/wrdo docker compose up -d ``` diff --git a/app/(auth)/login/page.tsx b/app/(auth)/login/page.tsx index e5acd0b..51039dc 100644 --- a/app/(auth)/login/page.tsx +++ b/app/(auth)/login/page.tsx @@ -25,7 +25,7 @@ export default function LoginPage() { > <> - Back + Back {siteConfig.openSignup ? "Home" : ""}
diff --git a/docker-compose.yml b/docker-compose.yml index e111d5f..3b34ceb 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -1,54 +1,63 @@ +version: "3.8" + services: - wrdo: + app: build: context: . dockerfile: Dockerfile - image: ghcr.io/oiov/wr.do/wrdo:${TAG:-latest} + args: + RESEND_API_KEY: ${RESEND_API_KEY} + # image: ghcr.io/oiov/wr.do/wrdo:${TAG:-latest} container_name: wrdo ports: - "3000:3000" environment: - - NODE_ENV=production - - IS_DOCKER=true - - DATABASE_URL=postgres://postgres:postgres@postgres:5432/wrdo - - AUTH_SECRET=${AUTH_SECRET:-your-auth-secret} - - NEXT_PUBLIC_APP_URL=${NEXT_PUBLIC_APP_URL:-http://localhost:3000} - - GOOGLE_CLIENT_ID=${GOOGLE_CLIENT_ID:-} - - GOOGLE_CLIENT_SECRET=${GOOGLE_CLIENT_SECRET:-} - - GITHUB_ID=${GITHUB_ID:-} - - GITHUB_SECRET=${GITHUB_SECRET:-} - - LinuxDo_CLIENT_ID=${LinuxDo_CLIENT_ID:-} - - LinuxDo_CLIENT_SECRET=${LinuxDo_CLIENT_SECRET:-} - - RESEND_API_KEY=${RESEND_API_KEY:-} - - NEXT_PUBLIC_EMAIL_R2_DOMAIN=${NEXT_PUBLIC_EMAIL_R2_DOMAIN:-} - - NEXT_PUBLIC_OPEN_SIGNUP=${NEXT_PUBLIC_OPEN_SIGNUP:-1} - - NEXT_PUBLIC_GOOGLE_ID=${NEXT_PUBLIC_GOOGLE_ID:-} - - SCREENSHOTONE_BASE_URL=${SCREENSHOTONE_BASE_URL:-} - - GITHUB_TOKEN=${GITHUB_TOKEN:-} - depends_on: - - postgres + NODE_ENV: production + DATABASE_URL: ${DATABASE_URL} + # If you want to use local database, uncomment the following line + # DATABASE_URL: postgres://postgres:postgres@postgres:5432/wrdo + AUTH_SECRET: ${AUTH_SECRET:-your-auth-secret} + NEXT_PUBLIC_APP_URL: ${NEXT_PUBLIC_APP_URL} + NEXT_PUBLIC_OPEN_SIGNUP: ${NEXT_PUBLIC_OPEN_SIGNUP} + GOOGLE_CLIENT_ID: ${GOOGLE_CLIENT_ID} + GOOGLE_CLIENT_SECRET: ${GOOGLE_CLIENT_SECRET} + GITHUB_ID: ${GITHUB_ID} + GITHUB_SECRET: ${GITHUB_SECRET} + LinuxDo_CLIENT_ID: ${LinuxDo_CLIENT_ID} + LinuxDo_CLIENT_SECRET: ${LinuxDo_CLIENT_SECRET} + RESEND_API_KEY: ${RESEND_API_KEY} + NEXT_PUBLIC_EMAIL_R2_DOMAIN: ${NEXT_PUBLIC_EMAIL_R2_DOMAIN} + NEXT_PUBLIC_GOOGLE_ID: ${NEXT_PUBLIC_GOOGLE_ID} + SCREENSHOTONE_BASE_URL: ${SCREENSHOTONE_BASE_URL} + GITHUB_TOKEN: ${GITHUB_TOKEN} + # If you want to use local database, uncomment the following line + # depends_on: + # - postgres networks: - wrdo-network restart: unless-stopped + # command: ["bash", "-c", "pnpm db:push && node server.js"] - postgres: - image: postgres:16-alpine - container_name: postgres - environment: - - POSTGRES_USER=postgres - - POSTGRES_PASSWORD=postgres - - POSTGRES_DB=wrdo - volumes: - - postgres-data:/var/lib/postgresql/data - ports: - - "5432:5432" - networks: - - wrdo-network - restart: unless-stopped + # If you want to use local database, uncomment the following line + # postgres: + # image: postgres:16-alpine + # container_name: postgres + # environment: + # - POSTGRES_USER=postgres + # - POSTGRES_PASSWORD=postgres + # - POSTGRES_DB=wrdo + # volumes: + # - postgres-data:/var/lib/postgresql/data + # ports: + # - "5432:5432" + # networks: + # - wrdo-network + # restart: unless-stopped -volumes: - postgres-data: - name: wrdo-postgres-data +# If you want to use local database, uncomment the following line +# volumes: +# postgres-data: +# name: wrdo-postgres-data networks: wrdo-network: diff --git a/lib/utils.ts b/lib/utils.ts index b1b2b66..442d9d1 100644 --- a/lib/utils.ts +++ b/lib/utils.ts @@ -94,7 +94,7 @@ export function formatTime(input: string | number): string { const locale = navigator.language || "en-US"; return date.toLocaleTimeString(locale, { - second: "numeric", + // second: "numeric", minute: "numeric", hour: "numeric", });