@@ -27,7 +27,6 @@ ENV NEXT_PUBLIC_GITHUB_LATEST_RELEASE_URL=$NEXT_PUBLIC_GITHUB_LATEST_RELEASE_URL
|
|||||||
COPY --from=builder /app/package.json ./
|
COPY --from=builder /app/package.json ./
|
||||||
COPY --from=builder /app/node_modules ./node_modules
|
COPY --from=builder /app/node_modules ./node_modules
|
||||||
COPY --from=builder /app/.next ./.next
|
COPY --from=builder /app/.next ./.next
|
||||||
COPY --from=builder /app/public ./public
|
|
||||||
EXPOSE 3000
|
EXPOSE 3000
|
||||||
HEALTHCHECK --interval=30s --timeout=5s --retries=3 \
|
HEALTHCHECK --interval=30s --timeout=5s --retries=3 \
|
||||||
CMD wget -qO- http://localhost:3000 || exit 1
|
CMD wget -qO- http://localhost:3000 || exit 1
|
||||||
|
|||||||
@@ -97,9 +97,9 @@ npm run build
|
|||||||
|
|
||||||
### Docker运行
|
### Docker运行
|
||||||
|
|
||||||
需先配置环境变量(与本地开发一致),否则构建出的镜像中 Supabase 等配置为空。可复制 `env.example` 为 `.env.local` 并填入实际值;若不用登录/反馈功能可留空。
|
需先配置环境变量(与本地开发一致),否则构建出的镜像中 Supabase 等配置为空。可复制 `env.example` 为 `.env` 并填入实际值;若不用登录/反馈功能可留空。
|
||||||
|
|
||||||
1. 构建镜像(构建时会读取当前环境或同目录 `.env.local` 中的变量)
|
1. 构建镜像(构建时会读取当前环境或同目录 `.env` 中的变量)
|
||||||
```bash
|
```bash
|
||||||
docker build -t real-time-fund .
|
docker build -t real-time-fund .
|
||||||
# 或通过 --build-arg 传入,例如:
|
# 或通过 --build-arg 传入,例如:
|
||||||
@@ -111,7 +111,7 @@ docker build -t real-time-fund .
|
|||||||
docker run -d -p 3000:3000 --name fund real-time-fund
|
docker run -d -p 3000:3000 --name fund real-time-fund
|
||||||
```
|
```
|
||||||
|
|
||||||
#### docker-compose(会读取同目录 `.env.local` 作为 build-arg 与运行环境)
|
#### docker-compose(会读取同目录 `.env` 作为 build-arg 与运行环境)
|
||||||
```bash
|
```bash
|
||||||
# 建议先:cp env.example .env 并编辑 .env
|
# 建议先:cp env.example .env 并编辑 .env
|
||||||
docker compose up -d
|
docker compose up -d
|
||||||
|
|||||||
@@ -3,13 +3,16 @@ services:
|
|||||||
build:
|
build:
|
||||||
context: .
|
context: .
|
||||||
args:
|
args:
|
||||||
- NEXT_PUBLIC_SUPABASE_URL=${NEXT_PUBLIC_SUPABASE_URL}
|
NEXT_PUBLIC_SUPABASE_URL: ${NEXT_PUBLIC_SUPABASE_URL}
|
||||||
- NEXT_PUBLIC_SUPABASE_ANON_KEY=${NEXT_PUBLIC_SUPABASE_ANON_KEY}
|
NEXT_PUBLIC_SUPABASE_ANON_KEY: ${NEXT_PUBLIC_SUPABASE_ANON_KEY}
|
||||||
- NEXT_PUBLIC_WEB3FORMS_ACCESS_KEY=${NEXT_PUBLIC_WEB3FORMS_ACCESS_KEY}
|
NEXT_PUBLIC_WEB3FORMS_ACCESS_KEY: ${NEXT_PUBLIC_WEB3FORMS_ACCESS_KEY}
|
||||||
- NEXT_PUBLIC_GA_ID=${NEXT_PUBLIC_GA_ID}
|
NEXT_PUBLIC_GA_ID: ${NEXT_PUBLIC_GA_ID}
|
||||||
- NEXT_PUBLIC_GITHUB_LATEST_RELEASE_URL=${NEXT_PUBLIC_GITHUB_LATEST_RELEASE_URL}
|
NEXT_PUBLIC_GITHUB_LATEST_RELEASE_URL: ${NEXT_PUBLIC_GITHUB_LATEST_RELEASE_URL}
|
||||||
|
|
||||||
ports:
|
ports:
|
||||||
- "3000:3000"
|
- "3000:3000"
|
||||||
|
|
||||||
restart: always
|
restart: always
|
||||||
env_file:
|
|
||||||
- .env.local
|
environment:
|
||||||
|
NODE_ENV: production
|
||||||
|
|||||||
Reference in New Issue
Block a user