test docker build

This commit is contained in:
oiov
2025-05-25 15:02:16 +08:00
parent 872baa7933
commit 400b1aac8d
5 changed files with 65 additions and 59 deletions
+15 -19
View File
@@ -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
+1
View File
@@ -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
```
+1 -1
View File
@@ -25,7 +25,7 @@ export default function LoginPage() {
>
<>
<Icons.chevronLeft className="mr-2 size-4" />
Back
Back {siteConfig.openSignup ? "Home" : ""}
</>
</Link>
<div className="mx-auto flex w-full flex-col justify-center space-y-6 sm:w-[350px]">
+47 -38
View File
@@ -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:
+1 -1
View File
@@ -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",
});