You've already forked DocSpace-client
mirror of
https://github.com/ONLYOFFICE/DocSpace-client.git
synced 2026-10-23 13:25:44 +03:00
Point every app and shared at `@onlyoffice/apps-ui-kit@^4.0.0` from the registry and drop the `file:../../onlyoffice-apps-ui-kit.tgz` specifier. Delete the committed `onlyoffice-apps-ui-kit.tgz` and the stale `onlyoffice-ai-chat-0.6.39.tgz`; the apps already pull ai-chat `^1.0.0` from npm. The Dockerfiles copy `*.tgz` in the same `COPY` as the manifests. The glob is now optional: it still lets a locally packed tarball be wired in as `file:../../<name>.tgz` for development, and it matches nothing in a clean checkout. The `minimumReleaseAgeExclude` comment in `pnpm-workspace.yaml` now explains the real reason the two packages are listed. They are first-party packages adopted on release day, so they are always younger than the release-age window. They are no longer listed because the tarballs were never on the registry. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
69 lines
2.8 KiB
Docker
69 lines
2.8 KiB
Docker
# (c) Copyright Ascensio System SIA 2009-2026
|
|
#
|
|
# This program is a free software product.
|
|
# You can redistribute it and/or modify it under the terms
|
|
# of the GNU Affero General Public License (AGPL) version 3 as published by the Free Software
|
|
# Foundation. In accordance with Section 7(a) of the GNU AGPL its Section 15 shall be amended
|
|
# to the effect that Ascensio System SIA expressly excludes the warranty of non-infringement of
|
|
# any third-party rights.
|
|
#
|
|
# This program is distributed WITHOUT ANY WARRANTY, without even the implied warranty
|
|
# of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For details, see
|
|
# the GNU AGPL at: http://www.gnu.org/licenses/agpl-3.0.html
|
|
#
|
|
# You can contact Ascensio System SIA at Lubanas st. 125a-25, Riga, Latvia, EU, LV-1021.
|
|
#
|
|
# The interactive user interfaces in modified source and object code versions of the Program must
|
|
# display Appropriate Legal Notices, as required under Section 5 of the GNU AGPL version 3.
|
|
#
|
|
# Pursuant to Section 7(b) of the License you must retain the original Product logo when
|
|
# distributing the program. Pursuant to Section 7(e) we decline to grant you any rights under
|
|
# trademark law for use of our trademarks.
|
|
#
|
|
# All the Product's GUI elements, including illustrations and icon sets, as well as technical writing
|
|
# content are licensed under the terms of the Creative Commons Attribution-ShareAlike 4.0
|
|
# International. See the License terms at http://creativecommons.org/licenses/by-sa/4.0/legalcode
|
|
|
|
FROM node:24-bookworm-slim
|
|
|
|
# Install required dependencies
|
|
RUN apt-get -y update && \
|
|
apt-get install -yq
|
|
|
|
# Install PNPM
|
|
RUN npm install -g pnpm@12.4.1
|
|
|
|
WORKDIR /app
|
|
|
|
# Set PNPM store directory
|
|
RUN pnpm config set store-dir /root/.local/share/pnpm/store
|
|
|
|
# Copy package files first for better layer caching
|
|
# `*.tgz` is optional: ui-kit and ai-chat come from npm, but a locally packed
|
|
# tarball at the repo root can be referenced as `file:../../<name>.tgz` for
|
|
# local development. A glob matching nothing is fine next to real sources.
|
|
COPY package.json pnpm-lock.yaml pnpm-workspace.yaml *.tgz ./
|
|
|
|
# Copy the source code with correct directory structure
|
|
COPY ../common/ ./common/
|
|
COPY ../packages/ ./packages/
|
|
# next.config.js requires scripts/ui-kit-dev.cjs at load time.
|
|
COPY ../scripts/ ./scripts/
|
|
COPY ../public/ ./public/
|
|
|
|
# ENV NODE_OPTIONS="--max-old-space-size=8192"
|
|
|
|
# Install dependencies
|
|
# CI=true is scoped to this one command on purpose. It skips the
|
|
# `lefthook install` in the workspace prepare scripts, which cannot work
|
|
# because the image has no .git. A persistent `ENV CI=true` would also
|
|
# change Playwright's runtime defaults (retries, workers, forbidOnly).
|
|
RUN CI=true pnpm install --frozen-lockfile
|
|
|
|
# Run build apps
|
|
RUN pnpm run build
|
|
|
|
EXPOSE 5001 5011 5013 5015 5099
|
|
|
|
CMD ["pnpm", "start-prod"]
|