mirror of
https://github.com/lobehub/lobe-chat.git
synced 2026-06-14 03:30:19 +00:00
👷 build: fix docker build failed (#6628)
* try to fix * try to fix * try to fix * fix docker build * try to fix * try to fix docker build * try to fix docker build * update docs * try to not copy pg and drizzle orm * remove /deps * update
This commit is contained in:
+3
-3
@@ -6,7 +6,7 @@
|
||||
|
||||
|
||||
########################################
|
||||
######## Model Provider Service ########
|
||||
########## AI Provider Service #########
|
||||
########################################
|
||||
|
||||
### OpenAI ###
|
||||
@@ -33,7 +33,7 @@ OPENAI_API_KEY=sk-xxxxxxxxx
|
||||
# AZURE_ENDPOINT=https://docs-test-001.openai.azure.com
|
||||
|
||||
# Azure's API version, follows the YYYY-MM-DD format
|
||||
# AZURE_API_VERSION=2024-06-01
|
||||
# AZURE_API_VERSION=2024-10-21
|
||||
|
||||
|
||||
### Anthropic Service ####
|
||||
@@ -214,7 +214,7 @@ OPENAI_API_KEY=sk-xxxxxxxxx
|
||||
# DATABASE_URL=postgres://username:password@host:port/database
|
||||
|
||||
# use `openssl rand -base64 32` to generate a key for the encryption of the database
|
||||
# we use this key to encrypt the user api key
|
||||
# we use this key to encrypt the user api key and proxy url
|
||||
#KEY_VAULTS_SECRET=xxxxx/xxxxxxxxxxxxxx=
|
||||
|
||||
# Specify the Embedding model and Reranker model(unImplemented)
|
||||
|
||||
+3
-9
@@ -67,8 +67,9 @@ ENV NODE_OPTIONS="--max-old-space-size=8192"
|
||||
|
||||
WORKDIR /app
|
||||
|
||||
COPY package.json ./
|
||||
COPY package.json pnpm-workspace.yaml ./
|
||||
COPY .npmrc ./
|
||||
COPY packages ./packages
|
||||
|
||||
RUN \
|
||||
# If you want to build docker in China, build with --build-arg USE_CN_MIRROR=true
|
||||
@@ -86,10 +87,7 @@ RUN \
|
||||
# Use pnpm for corepack
|
||||
&& corepack use $(sed -n 's/.*"packageManager": "\(.*\)".*/\1/p' package.json) \
|
||||
# Install the dependencies
|
||||
&& pnpm i \
|
||||
# Add sharp dependencies
|
||||
&& mkdir -p /deps \
|
||||
&& pnpm add sharp --prefix /deps
|
||||
&& pnpm i
|
||||
|
||||
COPY . .
|
||||
|
||||
@@ -101,13 +99,9 @@ FROM busybox:latest AS app
|
||||
|
||||
COPY --from=base /distroless/ /
|
||||
|
||||
COPY --from=builder /app/public /app/public
|
||||
|
||||
# Automatically leverage output traces to reduce image size
|
||||
# https://nextjs.org/docs/advanced-features/output-file-tracing
|
||||
COPY --from=builder /app/.next/standalone /app/
|
||||
COPY --from=builder /app/.next/static /app/.next/static
|
||||
COPY --from=builder /deps/node_modules/.pnpm /app/node_modules/.pnpm
|
||||
|
||||
# Copy server launcher
|
||||
COPY --from=builder /app/scripts/serverLauncher/startServer.js /app/startServer.js
|
||||
|
||||
+11
-11
@@ -76,8 +76,9 @@ ENV NODE_OPTIONS="--max-old-space-size=8192"
|
||||
|
||||
WORKDIR /app
|
||||
|
||||
COPY package.json ./
|
||||
COPY package.json pnpm-workspace.yaml ./
|
||||
COPY .npmrc ./
|
||||
COPY packages ./packages
|
||||
|
||||
RUN \
|
||||
# If you want to build docker in China, build with --build-arg USE_CN_MIRROR=true
|
||||
@@ -96,9 +97,11 @@ RUN \
|
||||
&& corepack use $(sed -n 's/.*"packageManager": "\(.*\)".*/\1/p' package.json) \
|
||||
# Install the dependencies
|
||||
&& pnpm i \
|
||||
# Add sharp and db migration dependencies
|
||||
# Add db migration dependencies
|
||||
&& mkdir -p /deps \
|
||||
&& pnpm add sharp pg drizzle-orm --prefix /deps
|
||||
&& cd /deps \
|
||||
&& pnpm init \
|
||||
&& pnpm add pg drizzle-orm
|
||||
|
||||
COPY . .
|
||||
|
||||
@@ -110,23 +113,20 @@ FROM busybox:latest AS app
|
||||
|
||||
COPY --from=base /distroless/ /
|
||||
|
||||
COPY --from=builder /app/public /app/public
|
||||
|
||||
# Automatically leverage output traces to reduce image size
|
||||
# https://nextjs.org/docs/advanced-features/output-file-tracing
|
||||
COPY --from=builder /app/.next/standalone /app/
|
||||
COPY --from=builder /app/.next/static /app/.next/static
|
||||
|
||||
# copy dependencies
|
||||
COPY --from=builder /deps/node_modules/.pnpm /app/node_modules/.pnpm
|
||||
COPY --from=builder /deps/node_modules/pg /app/node_modules/pg
|
||||
COPY --from=builder /deps/node_modules/drizzle-orm /app/node_modules/drizzle-orm
|
||||
|
||||
# Copy database migrations
|
||||
COPY --from=builder /app/src/database/migrations /app/migrations
|
||||
COPY --from=builder /app/scripts/migrateServerDB/docker.cjs /app/docker.cjs
|
||||
COPY --from=builder /app/scripts/migrateServerDB/errorHint.js /app/errorHint.js
|
||||
|
||||
# copy dependencies
|
||||
COPY --from=builder /deps/node_modules/.pnpm /app/node_modules/.pnpm
|
||||
COPY --from=builder /deps/node_modules/pg /app/node_modules/pg
|
||||
COPY --from=builder /deps/node_modules/drizzle-orm /app/node_modules/drizzle-orm
|
||||
|
||||
# Copy server launcher
|
||||
COPY --from=builder /app/scripts/serverLauncher/startServer.js /app/startServer.js
|
||||
|
||||
|
||||
+3
-9
@@ -68,8 +68,9 @@ ENV NODE_OPTIONS="--max-old-space-size=8192"
|
||||
|
||||
WORKDIR /app
|
||||
|
||||
COPY package.json ./
|
||||
COPY package.json pnpm-workspace.yaml ./
|
||||
COPY .npmrc ./
|
||||
COPY packages ./packages
|
||||
|
||||
RUN \
|
||||
# If you want to build docker in China, build with --build-arg USE_CN_MIRROR=true
|
||||
@@ -87,10 +88,7 @@ RUN \
|
||||
# Use pnpm for corepack
|
||||
&& corepack use $(sed -n 's/.*"packageManager": "\(.*\)".*/\1/p' package.json) \
|
||||
# Install the dependencies
|
||||
&& pnpm i \
|
||||
# Add sharp dependencies
|
||||
&& mkdir -p /deps \
|
||||
&& pnpm add sharp --prefix /deps
|
||||
&& pnpm i
|
||||
|
||||
COPY . .
|
||||
|
||||
@@ -102,13 +100,9 @@ FROM busybox:latest AS app
|
||||
|
||||
COPY --from=base /distroless/ /
|
||||
|
||||
COPY --from=builder /app/public /app/public
|
||||
|
||||
# Automatically leverage output traces to reduce image size
|
||||
# https://nextjs.org/docs/advanced-features/output-file-tracing
|
||||
COPY --from=builder /app/.next/standalone /app/
|
||||
COPY --from=builder /app/.next/static /app/.next/static
|
||||
COPY --from=builder /deps/node_modules/.pnpm /app/node_modules/.pnpm
|
||||
|
||||
# Copy server launcher
|
||||
COPY --from=builder /app/scripts/serverLauncher/startServer.js /app/startServer.js
|
||||
|
||||
@@ -560,25 +560,22 @@ If you have deployed your own project following the one-click deployment steps i
|
||||
|
||||
We provide a Docker image for deploying the LobeChat service on your own private device. Use the following command to start the LobeChat service:
|
||||
|
||||
1. create a folder to for storage files
|
||||
|
||||
```fish
|
||||
$ docker run -d -p 3210:3210 \
|
||||
-e OPENAI_API_KEY=sk-xxxx \
|
||||
-e ACCESS_CODE=lobe66 \
|
||||
--name lobe-chat \
|
||||
lobehub/lobe-chat
|
||||
$ mkdir lobe-chat-db && cd lobe-chat-db
|
||||
```
|
||||
|
||||
> \[!TIP]
|
||||
>
|
||||
> If you need to use the OpenAI service through a proxy, you can configure the proxy address using the `OPENAI_PROXY_URL` environment variable:
|
||||
2. init the LobeChat infrastructure
|
||||
|
||||
```fish
|
||||
$ docker run -d -p 3210:3210 \
|
||||
-e OPENAI_API_KEY=sk-xxxx \
|
||||
-e OPENAI_PROXY_URL=https://api-proxy.com/v1 \
|
||||
-e ACCESS_CODE=lobe66 \
|
||||
--name lobe-chat \
|
||||
lobehub/lobe-chat
|
||||
bash <(curl -fsSL https://lobe.li/setup.sh) -l zh_CN
|
||||
```
|
||||
|
||||
3. Start the LobeChat service
|
||||
|
||||
```fish
|
||||
docker compose up -d
|
||||
```
|
||||
|
||||
> \[!NOTE]
|
||||
@@ -793,12 +790,12 @@ This project is [Apache 2.0](./LICENSE) licensed.
|
||||
[discord-link]: https://discord.gg/AYFPHvv2jT
|
||||
[discord-shield]: https://img.shields.io/discord/1127171173982154893?color=5865F2&label=discord&labelColor=black&logo=discord&logoColor=white&style=flat-square
|
||||
[discord-shield-badge]: https://img.shields.io/discord/1127171173982154893?color=5865F2&label=discord&labelColor=black&logo=discord&logoColor=white&style=for-the-badge
|
||||
[docker-pulls-link]: https://hub.docker.com/r/lobehub/lobe-chat
|
||||
[docker-pulls-shield]: https://img.shields.io/docker/pulls/lobehub/lobe-chat?color=45cc11&labelColor=black&style=flat-square
|
||||
[docker-release-link]: https://hub.docker.com/r/lobehub/lobe-chat
|
||||
[docker-release-shield]: https://img.shields.io/docker/v/lobehub/lobe-chat?color=369eff&label=docker&labelColor=black&logo=docker&logoColor=white&style=flat-square&sort=semver
|
||||
[docker-size-link]: https://hub.docker.com/r/lobehub/lobe-chat
|
||||
[docker-size-shield]: https://img.shields.io/docker/image-size/lobehub/lobe-chat?color=369eff&labelColor=black&style=flat-square
|
||||
[docker-pulls-link]: https://hub.docker.com/r/lobehub/lobe-chat-database
|
||||
[docker-pulls-shield]: https://img.shields.io/docker/pulls/lobehub/lobe-chat?color=45cc11&labelColor=black&style=flat-square&sort=semver
|
||||
[docker-release-link]: https://hub.docker.com/r/lobehub/lobe-chat-database
|
||||
[docker-release-shield]: https://img.shields.io/docker/v/lobehub/lobe-chat-database?color=369eff&label=docker&labelColor=black&logo=docker&logoColor=white&style=flat-square&sort=semver
|
||||
[docker-size-link]: https://hub.docker.com/r/lobehub/lobe-chat-database
|
||||
[docker-size-shield]: https://img.shields.io/docker/image-size/lobehub/lobe-chat-database?color=369eff&labelColor=black&style=flat-square&sort=semver
|
||||
[docs]: https://lobehub.com/docs/usage/start
|
||||
[docs-dev-guide]: https://github.com/lobehub/lobe-chat/wiki/index
|
||||
[docs-docker]: https://lobehub.com/docs/self-hosting/platform/docker
|
||||
|
||||
+6
-6
@@ -813,12 +813,12 @@ This project is [Apache 2.0](./LICENSE) licensed.
|
||||
[discord-link]: https://discord.gg/AYFPHvv2jT
|
||||
[discord-shield]: https://img.shields.io/discord/1127171173982154893?color=5865F2&label=discord&labelColor=black&logo=discord&logoColor=white&style=flat-square
|
||||
[discord-shield-badge]: https://img.shields.io/discord/1127171173982154893?color=5865F2&label=discord&labelColor=black&logo=discord&logoColor=white&style=for-the-badge
|
||||
[docker-pulls-link]: https://hub.docker.com/r/lobehub/lobe-chat
|
||||
[docker-pulls-shield]: https://img.shields.io/docker/pulls/lobehub/lobe-chat?color=45cc11&labelColor=black&style=flat-square
|
||||
[docker-release-link]: https://hub.docker.com/r/lobehub/lobe-chat
|
||||
[docker-release-shield]: https://img.shields.io/docker/v/lobehub/lobe-chat?color=369eff&label=docker&labelColor=black&logo=docker&logoColor=white&style=flat-square
|
||||
[docker-size-link]: https://hub.docker.com/r/lobehub/lobe-chat
|
||||
[docker-size-shield]: https://img.shields.io/docker/image-size/lobehub/lobe-chat?color=369eff&labelColor=black&style=flat-square
|
||||
[docker-pulls-link]: https://hub.docker.com/r/lobehub/lobe-chat-database
|
||||
[docker-pulls-shield]: https://img.shields.io/docker/pulls/lobehub/lobe-chat?color=45cc11&labelColor=black&style=flat-square&sort=semver
|
||||
[docker-release-link]: https://hub.docker.com/r/lobehub/lobe-chat-database
|
||||
[docker-release-shield]: https://img.shields.io/docker/v/lobehub/lobe-chat-database?color=369eff&label=docker&labelColor=black&logo=docker&logoColor=white&style=flat-square&sort=semver
|
||||
[docker-size-link]: https://hub.docker.com/r/lobehub/lobe-chat-database
|
||||
[docker-size-shield]: https://img.shields.io/docker/image-size/lobehub/lobe-chat-database?color=369eff&labelColor=black&style=flat-square&sort=semver
|
||||
[docs]: https://lobehub.com/zh/docs/usage/start
|
||||
[docs-dev-guide]: https://github.com/lobehub/lobe-chat/wiki/index
|
||||
[docs-docker]: https://lobehub.com/docs/self-hosting/platform/docker
|
||||
|
||||
@@ -111,6 +111,9 @@ const nextConfig: NextConfig = {
|
||||
},
|
||||
},
|
||||
output: buildWithDocker ? 'standalone' : undefined,
|
||||
outputFileTracingIncludes: buildWithDocker
|
||||
? { '*': ['public/**/*', '.next/static/**/*'] }
|
||||
: undefined,
|
||||
reactStrictMode: true,
|
||||
redirects: async () => [
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user