test docker build
This commit is contained in:
+15
-19
@@ -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
|
||||
|
||||
@@ -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
|
||||
```
|
||||
|
||||
|
||||
@@ -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
@@ -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
@@ -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",
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user