mirror of
https://github.com/hcengineering/platform.git
synced 2026-08-17 18:05:42 +02:00
Switch to Base images (#7654)
Signed-off-by: Andrey Sobolev <haiodo@gmail.com>
This commit is contained in:
Vendored
+1
@@ -453,6 +453,7 @@
|
||||
"sourceMaps": true,
|
||||
"cwd": "${workspaceRoot}/services/github/pod-github",
|
||||
"protocol": "inspector",
|
||||
"attachSimplePort": 0,
|
||||
"outputCapture": "std"
|
||||
},
|
||||
{
|
||||
|
||||
@@ -25,7 +25,8 @@
|
||||
__webpack_require__.r(__webpack_exports__);
|
||||
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
||||
/* harmony export */ isVariableSetInNpmrcFile: () => (/* binding */ isVariableSetInNpmrcFile),
|
||||
/* harmony export */ syncNpmrc: () => (/* binding */ syncNpmrc)
|
||||
/* harmony export */ syncNpmrc: () => (/* binding */ syncNpmrc),
|
||||
/* harmony export */ trimNpmrcFileLines: () => (/* binding */ trimNpmrcFileLines)
|
||||
/* harmony export */ });
|
||||
/* harmony import */ var fs__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! fs */ 179896);
|
||||
/* harmony import */ var fs__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(fs__WEBPACK_IMPORTED_MODULE_0__);
|
||||
@@ -46,7 +47,7 @@ __webpack_require__.r(__webpack_exports__);
|
||||
// create a global _combinedNpmrc for cache purpose
|
||||
const _combinedNpmrcMap = new Map();
|
||||
function _trimNpmrcFile(options) {
|
||||
const { sourceNpmrcPath, linesToPrepend, linesToAppend } = options;
|
||||
const { sourceNpmrcPath, linesToPrepend, linesToAppend, supportEnvVarFallbackSyntax } = options;
|
||||
const combinedNpmrcFromCache = _combinedNpmrcMap.get(sourceNpmrcPath);
|
||||
if (combinedNpmrcFromCache !== undefined) {
|
||||
return combinedNpmrcFromCache;
|
||||
@@ -62,6 +63,21 @@ function _trimNpmrcFile(options) {
|
||||
npmrcFileLines.push(...linesToAppend);
|
||||
}
|
||||
npmrcFileLines = npmrcFileLines.map((line) => (line || '').trim());
|
||||
const resultLines = trimNpmrcFileLines(npmrcFileLines, process.env, supportEnvVarFallbackSyntax);
|
||||
const combinedNpmrc = resultLines.join('\n');
|
||||
//save the cache
|
||||
_combinedNpmrcMap.set(sourceNpmrcPath, combinedNpmrc);
|
||||
return combinedNpmrc;
|
||||
}
|
||||
/**
|
||||
*
|
||||
* @param npmrcFileLines The npmrc file's lines
|
||||
* @param env The environment variables object
|
||||
* @param supportEnvVarFallbackSyntax Whether to support fallback values in the form of `${VAR_NAME:-fallback}`
|
||||
* @returns
|
||||
*/
|
||||
function trimNpmrcFileLines(npmrcFileLines, env, supportEnvVarFallbackSyntax) {
|
||||
var _a;
|
||||
const resultLines = [];
|
||||
// This finds environment variable tokens that look like "${VAR_NAME}"
|
||||
const expansionRegExp = /\$\{([^\}]+)\}/g;
|
||||
@@ -80,10 +96,35 @@ function _trimNpmrcFile(options) {
|
||||
const environmentVariables = line.match(expansionRegExp);
|
||||
if (environmentVariables) {
|
||||
for (const token of environmentVariables) {
|
||||
// Remove the leading "${" and the trailing "}" from the token
|
||||
const environmentVariableName = token.substring(2, token.length - 1);
|
||||
// Is the environment variable defined?
|
||||
if (!process.env[environmentVariableName]) {
|
||||
/**
|
||||
* Remove the leading "${" and the trailing "}" from the token
|
||||
*
|
||||
* ${nameString} -> nameString
|
||||
* ${nameString-fallbackString} -> name-fallbackString
|
||||
* ${nameString:-fallbackString} -> name:-fallbackString
|
||||
*/
|
||||
const nameWithFallback = token.substring(2, token.length - 1);
|
||||
let environmentVariableName;
|
||||
let fallback;
|
||||
if (supportEnvVarFallbackSyntax) {
|
||||
/**
|
||||
* Get the environment variable name and fallback value.
|
||||
*
|
||||
* name fallback
|
||||
* nameString -> nameString undefined
|
||||
* nameString-fallbackString -> nameString fallbackString
|
||||
* nameString:-fallbackString -> nameString fallbackString
|
||||
*/
|
||||
const matched = nameWithFallback.match(/^([^:-]+)(?:\:?-(.+))?$/);
|
||||
// matched: [originStr, variableName, fallback]
|
||||
environmentVariableName = (_a = matched === null || matched === void 0 ? void 0 : matched[1]) !== null && _a !== void 0 ? _a : nameWithFallback;
|
||||
fallback = matched === null || matched === void 0 ? void 0 : matched[2];
|
||||
}
|
||||
else {
|
||||
environmentVariableName = nameWithFallback;
|
||||
}
|
||||
// Is the environment variable and fallback value defined.
|
||||
if (!env[environmentVariableName] && !fallback) {
|
||||
// No, so trim this line
|
||||
lineShouldBeTrimmed = true;
|
||||
break;
|
||||
@@ -100,20 +141,13 @@ function _trimNpmrcFile(options) {
|
||||
resultLines.push(line);
|
||||
}
|
||||
}
|
||||
const combinedNpmrc = resultLines.join('\n');
|
||||
//save the cache
|
||||
_combinedNpmrcMap.set(sourceNpmrcPath, combinedNpmrc);
|
||||
return combinedNpmrc;
|
||||
return resultLines;
|
||||
}
|
||||
function _copyAndTrimNpmrcFile(options) {
|
||||
const { logger, sourceNpmrcPath, targetNpmrcPath, linesToPrepend, linesToAppend } = options;
|
||||
const { logger, sourceNpmrcPath, targetNpmrcPath } = options;
|
||||
logger.info(`Transforming ${sourceNpmrcPath}`); // Verbose
|
||||
logger.info(` --> "${targetNpmrcPath}"`);
|
||||
const combinedNpmrc = _trimNpmrcFile({
|
||||
sourceNpmrcPath,
|
||||
linesToPrepend,
|
||||
linesToAppend
|
||||
});
|
||||
const combinedNpmrc = _trimNpmrcFile(options);
|
||||
fs__WEBPACK_IMPORTED_MODULE_0__.writeFileSync(targetNpmrcPath, combinedNpmrc);
|
||||
return combinedNpmrc;
|
||||
}
|
||||
@@ -123,7 +157,7 @@ function syncNpmrc(options) {
|
||||
info: console.log,
|
||||
// eslint-disable-next-line no-console
|
||||
error: console.error
|
||||
}, createIfMissing = false, linesToAppend, linesToPrepend } = options;
|
||||
}, createIfMissing = false } = options;
|
||||
const sourceNpmrcPath = path__WEBPACK_IMPORTED_MODULE_1__.join(sourceNpmrcFolder, !useNpmrcPublish ? '.npmrc' : '.npmrc-publish');
|
||||
const targetNpmrcPath = path__WEBPACK_IMPORTED_MODULE_1__.join(targetNpmrcFolder, '.npmrc');
|
||||
try {
|
||||
@@ -132,13 +166,9 @@ function syncNpmrc(options) {
|
||||
if (!fs__WEBPACK_IMPORTED_MODULE_0__.existsSync(targetNpmrcFolder)) {
|
||||
fs__WEBPACK_IMPORTED_MODULE_0__.mkdirSync(targetNpmrcFolder, { recursive: true });
|
||||
}
|
||||
return _copyAndTrimNpmrcFile({
|
||||
sourceNpmrcPath,
|
||||
return _copyAndTrimNpmrcFile(Object.assign({ sourceNpmrcPath,
|
||||
targetNpmrcPath,
|
||||
logger,
|
||||
linesToAppend,
|
||||
linesToPrepend
|
||||
});
|
||||
logger }, options));
|
||||
}
|
||||
else if (fs__WEBPACK_IMPORTED_MODULE_0__.existsSync(targetNpmrcPath)) {
|
||||
// If the source .npmrc doesn't exist and there is one in the target, delete the one in the target
|
||||
@@ -150,13 +180,13 @@ function syncNpmrc(options) {
|
||||
throw new Error(`Error syncing .npmrc file: ${e}`);
|
||||
}
|
||||
}
|
||||
function isVariableSetInNpmrcFile(sourceNpmrcFolder, variableKey) {
|
||||
function isVariableSetInNpmrcFile(sourceNpmrcFolder, variableKey, supportEnvVarFallbackSyntax) {
|
||||
const sourceNpmrcPath = `${sourceNpmrcFolder}/.npmrc`;
|
||||
//if .npmrc file does not exist, return false directly
|
||||
if (!fs__WEBPACK_IMPORTED_MODULE_0__.existsSync(sourceNpmrcPath)) {
|
||||
return false;
|
||||
}
|
||||
const trimmedNpmrcFile = _trimNpmrcFile({ sourceNpmrcPath });
|
||||
const trimmedNpmrcFile = _trimNpmrcFile({ sourceNpmrcPath, supportEnvVarFallbackSyntax });
|
||||
const variableKeyRegExp = new RegExp(`^${variableKey}=`, 'm');
|
||||
return trimmedNpmrcFile.match(variableKeyRegExp) !== null;
|
||||
}
|
||||
@@ -440,7 +470,8 @@ function _resolvePackageVersion(logger, rushCommonFolder, { name, version }) {
|
||||
(0,_utilities_npmrcUtilities__WEBPACK_IMPORTED_MODULE_4__.syncNpmrc)({
|
||||
sourceNpmrcFolder,
|
||||
targetNpmrcFolder: rushTempFolder,
|
||||
logger
|
||||
logger,
|
||||
supportEnvVarFallbackSyntax: false
|
||||
});
|
||||
const npmPath = getNpmPath();
|
||||
// This returns something that looks like:
|
||||
@@ -656,7 +687,8 @@ function installAndRun(logger, packageName, packageVersion, packageBinName, pack
|
||||
(0,_utilities_npmrcUtilities__WEBPACK_IMPORTED_MODULE_4__.syncNpmrc)({
|
||||
sourceNpmrcFolder,
|
||||
targetNpmrcFolder: packageInstallFolder,
|
||||
logger
|
||||
logger,
|
||||
supportEnvVarFallbackSyntax: false
|
||||
});
|
||||
_createPackageJson(packageInstallFolder, packageName, packageVersion);
|
||||
const command = lockFilePath ? 'ci' : 'install';
|
||||
|
||||
@@ -6,4 +6,4 @@ RUN apt-get install -y \
|
||||
poppler-utils \
|
||||
html2text \
|
||||
unrtf
|
||||
RUN npm install --ignore-scripts=false --verbose sharp@v0.30.2 pdfjs-dist@v2.12.313 --unsafe-perm
|
||||
RUN npm install --ignore-scripts=false --verbose sharp@v0.32.6 pdfjs-dist@v2.12.313 --unsafe-perm
|
||||
@@ -1,5 +1,4 @@
|
||||
FROM node:20
|
||||
|
||||
FROM hardcoreeng/base:v20250113a
|
||||
WORKDIR /usr/src/app
|
||||
|
||||
COPY bundle/bundle.js ./
|
||||
|
||||
+1
-4
@@ -1,9 +1,6 @@
|
||||
FROM node:20
|
||||
|
||||
FROM hardcoreeng/base
|
||||
WORKDIR /usr/src/app
|
||||
|
||||
RUN npm install --ignore-scripts=false --verbose bufferutil utf-8-validate @mongodb-js/zstd snappy msgpackr msgpackr-extract --unsafe-perm
|
||||
|
||||
COPY bundle/bundle.js ./
|
||||
|
||||
CMD [ "bash" ]
|
||||
|
||||
+1
-11
@@ -1,16 +1,6 @@
|
||||
FROM node:20
|
||||
|
||||
FROM hardcoreeng/base:v20250113a
|
||||
WORKDIR /usr/src/app
|
||||
|
||||
RUN npm install --ignore-scripts=false --verbose bufferutil utf-8-validate @mongodb-js/zstd snappy --unsafe-perm
|
||||
|
||||
RUN apt-get update
|
||||
RUN apt-get install libjemalloc2
|
||||
RUN apt-get clean
|
||||
|
||||
ENV LD_PRELOAD=libjemalloc.so.2
|
||||
ENV MALLOC_CONF=dirty_decay_ms:1000,narenas:2,background_thread:true
|
||||
|
||||
COPY bundle/bundle.js ./
|
||||
|
||||
EXPOSE 3000
|
||||
|
||||
+1
-11
@@ -1,17 +1,7 @@
|
||||
|
||||
FROM node:20
|
||||
|
||||
FROM hardcoreeng/base:v20250113a
|
||||
WORKDIR /usr/src/app
|
||||
|
||||
RUN npm install --ignore-scripts=false --verbose bufferutil utf-8-validate @mongodb-js/zstd snappy --unsafe-perm
|
||||
|
||||
RUN apt-get update
|
||||
RUN apt-get install libjemalloc2
|
||||
RUN apt-get clean
|
||||
|
||||
ENV LD_PRELOAD=libjemalloc.so.2
|
||||
ENV MALLOC_CONF=dirty_decay_ms:1000,narenas:2,background_thread:true
|
||||
|
||||
COPY bundle/bundle.js ./
|
||||
COPY bundle/bundle.js.map ./
|
||||
COPY bundle/model.json ./
|
||||
|
||||
@@ -1,15 +1,6 @@
|
||||
|
||||
FROM node:20
|
||||
|
||||
FROM hardcoreeng/base:v20250113a
|
||||
WORKDIR /usr/src/app
|
||||
RUN npm install --ignore-scripts=false --verbose bufferutil utf-8-validate @mongodb-js/zstd snappy --unsafe-perm
|
||||
|
||||
RUN apt-get update
|
||||
RUN apt-get install libjemalloc2
|
||||
RUN apt-get clean
|
||||
|
||||
ENV LD_PRELOAD=libjemalloc.so.2
|
||||
ENV MALLOC_CONF=dirty_decay_ms:1000,narenas:2,background_thread:true
|
||||
|
||||
COPY bundle/bundle.js ./
|
||||
COPY bundle/bundle.js.map ./
|
||||
|
||||
+1
-12
@@ -1,16 +1,5 @@
|
||||
FROM node:20
|
||||
|
||||
ENV NODE_ENV production
|
||||
|
||||
FROM hardcoreeng/front-base:v20250113a
|
||||
WORKDIR /app
|
||||
RUN npm install --ignore-scripts=false --verbose sharp@v0.32.6 bufferutil utf-8-validate @mongodb-js/zstd snappy --unsafe-perm
|
||||
|
||||
RUN apt-get update
|
||||
RUN apt-get install libjemalloc2
|
||||
RUN apt-get clean
|
||||
|
||||
ENV LD_PRELOAD=libjemalloc.so.2
|
||||
ENV MALLOC_CONF=dirty_decay_ms:1000,narenas:2,background_thread:true
|
||||
|
||||
COPY bundle/bundle.js ./
|
||||
COPY bundle/bundle.js.map ./
|
||||
|
||||
@@ -1,17 +1,7 @@
|
||||
|
||||
FROM node:20
|
||||
|
||||
FROM hardcoreeng/base:v20250113a
|
||||
WORKDIR /usr/src/app
|
||||
|
||||
RUN npm install --ignore-scripts=false --verbose bufferutil utf-8-validate @mongodb-js/zstd snappy --unsafe-perm
|
||||
|
||||
RUN apt-get update
|
||||
RUN apt-get install libjemalloc2
|
||||
RUN apt-get clean
|
||||
|
||||
ENV LD_PRELOAD=libjemalloc.so.2
|
||||
ENV MALLOC_CONF=dirty_decay_ms:1000,narenas:2,background_thread:true
|
||||
|
||||
COPY bundle/bundle.js ./
|
||||
COPY bundle/bundle.js.map ./
|
||||
COPY bundle/model.json ./
|
||||
|
||||
+1
-10
@@ -1,14 +1,5 @@
|
||||
FROM node:20
|
||||
|
||||
FROM hardcoreeng/base:v20250113a
|
||||
WORKDIR /usr/src/app
|
||||
RUN npm install --ignore-scripts=false --verbose bufferutil utf-8-validate @mongodb-js/zstd snappy msgpackr msgpackr-extract --unsafe-perm
|
||||
|
||||
RUN apt-get update
|
||||
RUN apt-get install libjemalloc2
|
||||
RUN apt-get clean
|
||||
|
||||
ENV LD_PRELOAD=libjemalloc.so.2
|
||||
ENV MALLOC_CONF=dirty_decay_ms:1000,narenas:2,background_thread:true
|
||||
|
||||
COPY bundle/model.json ./
|
||||
COPY bundle/bundle.js ./
|
||||
|
||||
@@ -1,14 +1,6 @@
|
||||
FROM node:20
|
||||
|
||||
FROM hardcoreeng/base:v20250113a
|
||||
WORKDIR /usr/src/app
|
||||
|
||||
RUN apt-get update
|
||||
RUN apt-get install libjemalloc2
|
||||
RUN apt-get clean
|
||||
|
||||
ENV LD_PRELOAD=libjemalloc.so.2
|
||||
ENV MALLOC_CONF=dirty_decay_ms:1000,narenas:2,background_thread:true
|
||||
|
||||
COPY bundle/bundle.js ./
|
||||
|
||||
EXPOSE 4900
|
||||
|
||||
@@ -1,16 +1,6 @@
|
||||
FROM node:20
|
||||
|
||||
FROM hardcoreeng/base:v20250113a
|
||||
WORKDIR /usr/src/app
|
||||
|
||||
RUN npm install --ignore-scripts=false --verbose bufferutil utf-8-validate @mongodb-js/zstd snappy --unsafe-perm
|
||||
|
||||
RUN apt-get update
|
||||
RUN apt-get install libjemalloc2
|
||||
RUN apt-get clean
|
||||
|
||||
ENV LD_PRELOAD=libjemalloc.so.2
|
||||
ENV MALLOC_CONF=dirty_decay_ms:1000,narenas:2,background_thread:true
|
||||
|
||||
COPY bundle/bundle.js ./
|
||||
COPY bundle/bundle.js.map ./
|
||||
|
||||
|
||||
@@ -1 +0,0 @@
|
||||
defaults
|
||||
@@ -1,5 +0,0 @@
|
||||
GMAIL_URL=http://localhost:8087
|
||||
TELEGRAM_URL=http://localhost:8086
|
||||
FRONT_URL=http://localhost:8080
|
||||
|
||||
REKONI_URL=http://localhost:4004
|
||||
@@ -1,4 +0,0 @@
|
||||
|
||||
TELEGRAM_URL = https://telegram.hc.engineering
|
||||
REKONI_URL = https://rekoni.hc.engineering
|
||||
GMAIL_URL = https://gmail.hc.engineering
|
||||
@@ -1,3 +0,0 @@
|
||||
stats.json
|
||||
dist/
|
||||
|
||||
@@ -1,9 +0,0 @@
|
||||
FROM node:20
|
||||
|
||||
WORKDIR /usr/src/app
|
||||
|
||||
COPY bundle/bundle.js ./
|
||||
COPY dist/ ./dist/
|
||||
|
||||
EXPOSE 8080
|
||||
CMD [ "node", "bundle.js" ]
|
||||
@@ -1,5 +0,0 @@
|
||||
{
|
||||
"ACCOUNTS_URL":"http://localhost:3000",
|
||||
"UPLOAD_URL":"/files",
|
||||
"REKONI_URL": "http://localhost:4004"
|
||||
}
|
||||
@@ -1,132 +0,0 @@
|
||||
{
|
||||
"name": "@hcengineering/prod-tracker",
|
||||
"version": "1.0.0",
|
||||
"license": "EPL-2.0",
|
||||
"scripts": {
|
||||
"build": "echo 'disabled'",
|
||||
"*build": "rm -rf ./dist && cross-env NODE_ENV=production webpack --stats-error-details && echo 'done'",
|
||||
"*bundle": "cp -r ../../server/front/bundle.js .",
|
||||
"bundle": "echo 'disabled'",
|
||||
"*docker:build": "docker build -t hardcoreeng/tracker-front .",
|
||||
"*docker:staging": "../../common/scripts/docker_tag.sh hardcoreeng/tracker-front staging",
|
||||
"*docker:push": "../../common/scripts/docker_tag.sh hardcoreeng/tracker-front",
|
||||
"analyze": "cross-env NODE_ENV=production webpack --json > stats.json",
|
||||
"show": "webpack-bundle-analyzer stats.json dist",
|
||||
"dev-server": "cross-env CLIENT_TYPE=dev-server webpack serve",
|
||||
"start": "cross-env NODE_ENV=production webpack serve",
|
||||
"format": "echo 'Not required'",
|
||||
"lint": "echo 'Not required'",
|
||||
"lint:fix": "echo 'Not required'",
|
||||
"*deploy": "cp -p public/* dist && aws s3 sync dist s3://anticrm-platform --delete --acl public-read"
|
||||
},
|
||||
"devDependencies": {
|
||||
"cross-env": "~7.0.3",
|
||||
"webpack-cli": "^4.6.0",
|
||||
"webpack": "^5.32.0",
|
||||
"mini-css-extract-plugin": "^2.2.0",
|
||||
"dotenv-webpack": "^7.0.2",
|
||||
"ts-loader": "^9.2.5",
|
||||
"svelte-loader": "^3.1.9",
|
||||
"css-loader": "^5.2.1",
|
||||
"webpack-dev-server": "^4.7.4",
|
||||
"style-loader": "^3.2.1",
|
||||
"file-loader": "^6.2.0",
|
||||
"sass-loader": "^12.1.0",
|
||||
"@types/node": "~20.11.16",
|
||||
"webpack-bundle-analyzer": "^4.4.1",
|
||||
"svgo-loader": "^3.0.0",
|
||||
"autoprefixer": "^10.2.6",
|
||||
"postcss": "^8.3.4",
|
||||
"postcss-loader": "^6.1.0",
|
||||
"postcss-load-config": "^3.1.0",
|
||||
"compression-webpack-plugin": "~9.0.0",
|
||||
"html-webpack-plugin": "~5.5.0"
|
||||
},
|
||||
"dependencies": {
|
||||
"@hcengineering/platform": "^0.6.8",
|
||||
"@hcengineering/ui": "^0.6.3",
|
||||
"@hcengineering/theme": "^0.6.2",
|
||||
"svelte": "^4.2.5",
|
||||
"@hcengineering/login": "^0.6.1",
|
||||
"@hcengineering/login-assets": "^0.6.0",
|
||||
"@hcengineering/login-resources": "^0.6.2",
|
||||
"@hcengineering/client": "^0.6.6",
|
||||
"@hcengineering/workbench": "^0.6.2",
|
||||
"@hcengineering/workbench-resources": "^0.6.1",
|
||||
"@hcengineering/view": "^0.6.2",
|
||||
"@hcengineering/view-assets": "^0.6.0",
|
||||
"@hcengineering/view-resources": "^0.6.0",
|
||||
"@hcengineering/contact": "^0.6.11",
|
||||
"@hcengineering/contact-resources": "^0.6.0",
|
||||
"@hcengineering/task": "^0.6.1",
|
||||
"@hcengineering/task-assets": "^0.6.0",
|
||||
"@hcengineering/task-resources": "^0.6.0",
|
||||
"@hcengineering/chunter": "^0.6.2",
|
||||
"@hcengineering/chunter-assets": "^0.6.0",
|
||||
"@hcengineering/chunter-resources": "^0.6.0",
|
||||
"@hcengineering/setting": "^0.6.2",
|
||||
"@hcengineering/setting-assets": "^0.6.0",
|
||||
"@hcengineering/setting-resources": "^0.6.0",
|
||||
"@hcengineering/client-resources": "^0.6.4",
|
||||
"@hcengineering/contact-assets": "^0.6.0",
|
||||
"@hcengineering/activity": "^0.6.0",
|
||||
"@hcengineering/activity-assets": "^0.6.0",
|
||||
"@hcengineering/activity-resources": "^0.6.1",
|
||||
"@hcengineering/telegram": "^0.6.2",
|
||||
"@hcengineering/telegram-assets": "^0.6.0",
|
||||
"@hcengineering/telegram-resources": "^0.6.0",
|
||||
"@hcengineering/workbench-assets": "^0.6.0",
|
||||
"@hcengineering/attachment": "^0.6.1",
|
||||
"@hcengineering/attachment-assets": "^0.6.0",
|
||||
"@hcengineering/attachment-resources": "^0.6.0",
|
||||
"@hcengineering/gmail": "^0.6.0",
|
||||
"@hcengineering/gmail-assets": "^0.6.0",
|
||||
"@hcengineering/gmail-resources": "^0.6.0",
|
||||
"@hcengineering/image-cropper": "^0.6.0",
|
||||
"@hcengineering/image-cropper-resources": "^0.6.0",
|
||||
"@hcengineering/server-attachment": "^0.6.1",
|
||||
"@hcengineering/server-attachment-resources": "^0.6.0",
|
||||
"@hcengineering/server-collaboration": "^0.6.0",
|
||||
"@hcengineering/server-collaboration-resources": "^0.6.0",
|
||||
"@hcengineering/server-contact": "^0.6.1",
|
||||
"@hcengineering/server-contact-resources": "^0.6.0",
|
||||
"@hcengineering/server-notification": "^0.6.0",
|
||||
"@hcengineering/server-notification-resources": "^0.6.0",
|
||||
"@hcengineering/server-setting": "^0.6.0",
|
||||
"@hcengineering/server-setting-resources": "^0.6.0",
|
||||
"@hcengineering/templates": "^0.6.0",
|
||||
"@hcengineering/templates-assets": "^0.6.0",
|
||||
"@hcengineering/templates-resources": "^0.6.0",
|
||||
"@hcengineering/notification": "^0.6.5",
|
||||
"@hcengineering/notification-assets": "^0.6.0",
|
||||
"@hcengineering/notification-resources": "^0.6.0",
|
||||
"@hcengineering/preference": "^0.6.2",
|
||||
"@hcengineering/preference-assets": "^0.6.0",
|
||||
"@hcengineering/calendar": "^0.6.2",
|
||||
"@hcengineering/calendar-assets": "^0.6.0",
|
||||
"@hcengineering/calendar-resources": "^0.6.0",
|
||||
"@hcengineering/core": "^0.6.21",
|
||||
"@hcengineering/server-chunter": "^0.6.0",
|
||||
"@hcengineering/server-chunter-resources": "^0.6.0",
|
||||
"@hcengineering/server-task": "^0.6.0",
|
||||
"@hcengineering/server-task-resources": "^0.6.0",
|
||||
"@hcengineering/server-tracker": "^0.6.0",
|
||||
"@hcengineering/server-tracker-resources": "^0.6.0",
|
||||
"@hcengineering/server-calendar": "^0.6.0",
|
||||
"@hcengineering/server-calendar-resources": "^0.6.0",
|
||||
"@hcengineering/server-gmail": "^0.6.0",
|
||||
"@hcengineering/server-gmail-resources": "^0.6.0",
|
||||
"@hcengineering/server-telegram": "^0.6.0",
|
||||
"@hcengineering/server-telegram-resources": "^0.6.0",
|
||||
"@hcengineering/presentation": "^0.6.2",
|
||||
"@hcengineering/tracker": "^0.6.1",
|
||||
"@hcengineering/tracker-assets": "^0.6.0",
|
||||
"@hcengineering/tracker-resources": "^0.6.0",
|
||||
"@hcengineering/prod": "^1.0.1",
|
||||
"@hcengineering/text-editor-resources": "^0.6.0",
|
||||
"@hcengineering/devmodel": "^0.6.0",
|
||||
"@hcengineering/devmodel-resources": "^0.6.0",
|
||||
"@hcengineering/front": "^0.6.0",
|
||||
"svelte-loader": "^3.1.9"
|
||||
}
|
||||
}
|
||||
@@ -1,5 +0,0 @@
|
||||
module.exports = {
|
||||
plugins: [
|
||||
require('autoprefixer')
|
||||
]
|
||||
}
|
||||
@@ -1,5 +0,0 @@
|
||||
{
|
||||
"ACCOUNTS_URL":"/account",
|
||||
"UPLOAD_URL":"/files",
|
||||
"MODEL_VERSION": null
|
||||
}
|
||||
Binary file not shown.
|
Before Width: | Height: | Size: 1.1 KiB |
Binary file not shown.
|
Before Width: | Height: | Size: 4.0 KiB |
@@ -1,5 +0,0 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16">
|
||||
<circle fill="#FFFFFF" cx="8" cy="8" r="8"/>
|
||||
<path fill="#C8C8C8" d="M8,0C3.6,0,0,3.6,0,8s3.6,8,8,8s8-3.6,8-8S12.4,0,8,0z M8,15.5c-4.1,0-7.5-3.4-7.5-7.5S3.9,0.5,8,0.5 s7.5,3.4,7.5,7.5S12.1,15.5,8,15.5z"/>
|
||||
<path d="M5,13.2V3.5h4.4c0.4,0,0.9,0.1,1.2,0.2c0.4,0.1,0.7,0.4,0.9,0.6s0.4,0.6,0.6,1c0.1,0.4,0.2,0.8,0.2,1.2 c0,0.5-0.1,0.9-0.2,1.2s-0.3,0.7-0.6,1s-0.6,0.5-0.9,0.6S9.8,9.5,9.4,9.5H6.8v3.7H5z M6.8,7.9h2.4c0.4,0,0.6-0.1,0.8-0.3 s0.3-0.5,0.3-0.8V6.2c0-0.4-0.1-0.6-0.3-0.8S9.5,5.1,9.2,5.1H6.8V7.9z"/>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 573 B |
Binary file not shown.
|
Before Width: | Height: | Size: 434 B |
Binary file not shown.
|
Before Width: | Height: | Size: 6.4 KiB |
Binary file not shown.
|
Before Width: | Height: | Size: 961 B |
@@ -1,20 +0,0 @@
|
||||
<!doctype html>
|
||||
<html>
|
||||
|
||||
<head>
|
||||
<meta charset="utf8">
|
||||
<meta name="viewport" content="width=device-width">
|
||||
|
||||
<title>Tracker</title>
|
||||
|
||||
<link rel="shortcut icon" type="image/x-icon" href="favicon.ico">
|
||||
<link rel="icon" type="image/svg+xml" sizes="any" href="favicon.svg">
|
||||
<link rel="icon" type="image/png" sizes="16x16" href="favicon_16.png">
|
||||
<link rel="icon" type="image/png" sizes="32x32" href="favicon_32.png">
|
||||
<link rel="icon" type="image/png" sizes="192x192" href="favicon_192.png">
|
||||
</head>
|
||||
|
||||
<body style="margin: 0; overflow: hidden;">
|
||||
</body>
|
||||
|
||||
</html>
|
||||
@@ -1,31 +0,0 @@
|
||||
//
|
||||
// Copyright © 2020, 2021 Anticrm Platform Contributors.
|
||||
// Copyright © 2021 Hardcore Engineering, Inc.
|
||||
//
|
||||
// Licensed under the Eclipse Public License, Version 2.0 (the "License");
|
||||
// you may not use this file except in compliance with the License. You may
|
||||
// obtain a copy of the License at https://www.eclipse.org/legal/epl-2.0
|
||||
//
|
||||
// Unless required by applicable law or agreed to in writing, software
|
||||
// distributed under the License is distributed on an "AS IS" BASIS,
|
||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
//
|
||||
// See the License for the specific language governing permissions and
|
||||
// limitations under the License.
|
||||
//
|
||||
|
||||
import { createApp } from '@hcengineering/ui'
|
||||
import { configurePlatform } from './platform'
|
||||
import { configurePlatformDev, configurePlatformDevServer } from './platform-dev'
|
||||
|
||||
configurePlatform().then(() => {
|
||||
if (process.env.CLIENT_TYPE === 'dev') {
|
||||
configurePlatformDev()
|
||||
}
|
||||
if (process.env.CLIENT_TYPE === 'dev-server' || process.env.CLIENT_TYPE === 'dev-production') {
|
||||
configurePlatformDevServer()
|
||||
}
|
||||
|
||||
createApp(document.body)
|
||||
})
|
||||
|
||||
@@ -1,22 +0,0 @@
|
||||
//
|
||||
// Copyright © 2020, 2021 Anticrm Platform Contributors.
|
||||
// Copyright © 2021 Hardcore Engineering, Inc.
|
||||
//
|
||||
// Licensed under the Eclipse Public License, Version 2.0 (the "License");
|
||||
// you may not use this file except in compliance with the License. You may
|
||||
// obtain a copy of the License at https://www.eclipse.org/legal/epl-2.0
|
||||
//
|
||||
// Unless required by applicable law or agreed to in writing, software
|
||||
// distributed under the License is distributed on an "AS IS" BASIS,
|
||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
//
|
||||
// See the License for the specific language governing permissions and
|
||||
// limitations under the License.
|
||||
//
|
||||
|
||||
import { createApp } from '@hcengineering/ui'
|
||||
import { configurePlatform } from './platform'
|
||||
|
||||
configurePlatform().then(() => {
|
||||
createApp(document.body)
|
||||
})
|
||||
@@ -1,30 +0,0 @@
|
||||
//
|
||||
// Copyright © 2020 Anticrm Platform Contributors.
|
||||
//
|
||||
// Licensed under the Eclipse Public License, Version 2.0 (the "License");
|
||||
// you may not use this file except in compliance with the License. You may
|
||||
// obtain a copy of the License at https://www.eclipse.org/legal/epl-2.0
|
||||
//
|
||||
// Unless required by applicable law or agreed to in writing, software
|
||||
// distributed under the License is distributed on an "AS IS" BASIS,
|
||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
//
|
||||
// See the License for the specific language governing permissions and
|
||||
// limitations under the License.
|
||||
//
|
||||
|
||||
import { addLocation } from '@hcengineering/platform'
|
||||
import login from '@hcengineering/login'
|
||||
import { setMetadata } from '@hcengineering/platform'
|
||||
import devmodel, { devModelId } from '@hcengineering/devmodel'
|
||||
import client from '@hcengineering/client'
|
||||
|
||||
export function configurePlatformDevServer() {
|
||||
// Set devmodel to hook client to be able to present all activity
|
||||
enableDevModel()
|
||||
}
|
||||
|
||||
function enableDevModel() {
|
||||
setMetadata(client.metadata.ClientHook, devmodel.hook.Hook)
|
||||
addLocation(devModelId, () => import(/* webpackChunkName: "devmodel" */ '@hcengineering/devmodel-resources'))
|
||||
}
|
||||
@@ -1,108 +0,0 @@
|
||||
//
|
||||
// Copyright © 2020 Anticrm Platform Contributors.
|
||||
//
|
||||
// Licensed under the Eclipse Public License, Version 2.0 (the "License");
|
||||
// you may not use this file except in compliance with the License. You may
|
||||
// obtain a copy of the License at https://www.eclipse.org/legal/epl-2.0
|
||||
//
|
||||
// Unless required by applicable law or agreed to in writing, software
|
||||
// distributed under the License is distributed on an "AS IS" BASIS,
|
||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
//
|
||||
// See the License for the specific language governing permissions and
|
||||
// limitations under the License.
|
||||
//
|
||||
|
||||
import { addLocation } from '@hcengineering/platform'
|
||||
|
||||
import login, { loginId } from '@hcengineering/login'
|
||||
import workbench, { workbenchId } from '@hcengineering/workbench'
|
||||
import uiPlugin from '@hcengineering/ui'
|
||||
import { viewId } from '@hcengineering/view'
|
||||
import { taskId } from '@hcengineering/task'
|
||||
import contact, { contactId } from '@hcengineering/contact'
|
||||
import { chunterId } from '@hcengineering/chunter'
|
||||
import { activityId } from '@hcengineering/activity'
|
||||
import { settingId } from '@hcengineering/setting'
|
||||
import telegram, { telegramId } from '@hcengineering/telegram'
|
||||
import { attachmentId } from '@hcengineering/attachment'
|
||||
import client, { clientId } from '@hcengineering/client'
|
||||
import gmail, { gmailId } from '@hcengineering/gmail'
|
||||
import { imageCropperId } from '@hcengineering/image-cropper'
|
||||
import { templatesId } from '@hcengineering/templates'
|
||||
import { notificationId } from '@hcengineering/notification'
|
||||
import { calendarId } from '@hcengineering/calendar'
|
||||
import { trackerId } from '@hcengineering/tracker'
|
||||
|
||||
import '@hcengineering/login-assets'
|
||||
import '@hcengineering/task-assets'
|
||||
import '@hcengineering/view-assets'
|
||||
import '@hcengineering/chunter-assets'
|
||||
import '@hcengineering/attachment-assets'
|
||||
import '@hcengineering/contact-assets'
|
||||
import '@hcengineering/activity-assets'
|
||||
import '@hcengineering/setting-assets'
|
||||
import '@hcengineering/telegram-assets'
|
||||
import '@hcengineering/gmail-assets'
|
||||
import '@hcengineering/workbench-assets'
|
||||
import '@hcengineering/templates-assets'
|
||||
import '@hcengineering/notification-assets'
|
||||
import '@hcengineering/preference-assets'
|
||||
import '@hcengineering/tracker-assets'
|
||||
import presentation, { presentationId } from '@hcengineering/presentation'
|
||||
import { coreId } from '@hcengineering/core'
|
||||
import { textEditorId } from '@hcengineering/text-editor'
|
||||
|
||||
import { setMetadata } from '@hcengineering/platform'
|
||||
|
||||
export async function configurePlatform() {
|
||||
const config = await (await fetch('/config.json')).json()
|
||||
console.log('loading configuration', config)
|
||||
setMetadata(login.metadata.AccountsUrl, config.ACCOUNTS_URL)
|
||||
|
||||
if (config.MODEL_VERSION != null) {
|
||||
console.log('Minimal Model version requirement', config.MODEL_VERSION)
|
||||
setMetadata(presentation.metadata.RequiredVersion, config.MODEL_VERSION)
|
||||
}
|
||||
setMetadata(telegram.metadata.TelegramURL, process.env.TELEGRAM_URL ?? 'http://localhost:8086')
|
||||
setMetadata(telegram.metadata.BotUrl, process.TELEGRAM_BOT_URL ?? 'http://localhost:4020')
|
||||
setMetadata(gmail.metadata.GmailURL, process.env.GMAIL_URL ?? 'http://localhost:8087')
|
||||
|
||||
setMetadata(uiPlugin.metadata.DefaultApplication, workbench.component.WorkbenchApp)
|
||||
setMetadata(workbench.metadata.ExcludedApplications, [contact.app.Contacts])
|
||||
|
||||
setMetadata(
|
||||
uiPlugin.metadata.Routes,
|
||||
new Map([
|
||||
[workbenchId, workbench.component.WorkbenchApp],
|
||||
[loginId, login.component.LoginApp]
|
||||
])
|
||||
)
|
||||
|
||||
addLocation(coreId, async () => ({ default: async () => ({}) }))
|
||||
addLocation(presentationId, async () => ({ default: async () => ({}) }))
|
||||
|
||||
addLocation(clientId, () => import(/* webpackChunkName: "client" */ '@hcengineering/client-resources'))
|
||||
addLocation(loginId, () => import(/* webpackChunkName: "login" */ '@hcengineering/login-resources'))
|
||||
addLocation(workbenchId, () => import(/* webpackChunkName: "workbench" */ '@hcengineering/workbench-resources'))
|
||||
addLocation(viewId, () => import(/* webpackChunkName: "view" */ '@hcengineering/view-resources'))
|
||||
addLocation(taskId, () => import(/* webpackChunkName: "task" */ '@hcengineering/task-resources'))
|
||||
addLocation(contactId, () => import(/* webpackChunkName: "contact" */ '@hcengineering/contact-resources'))
|
||||
addLocation(chunterId, () => import(/* webpackChunkName: "chunter" */ '@hcengineering/chunter-resources'))
|
||||
addLocation(activityId, () => import(/*webpackChunkName: "activity" */ '@hcengineering/activity-resources'))
|
||||
addLocation(settingId, () => import(/* webpackChunkName: "setting" */ '@hcengineering/setting-resources'))
|
||||
addLocation(telegramId, () => import(/* webpackChunkName: "telegram" */ '@hcengineering/telegram-resources'))
|
||||
addLocation(attachmentId, () => import(/* webpackChunkName: "attachment" */ '@hcengineering/attachment-resources'))
|
||||
addLocation(gmailId, () => import(/* webpackChunkName: "gmail" */ '@hcengineering/gmail-resources'))
|
||||
addLocation(imageCropperId, () => import(/* webpackChunkName: "image-cropper" */ '@hcengineering/image-cropper-resources'))
|
||||
addLocation(templatesId, () => import(/* webpackChunkName: "templates" */ '@hcengineering/templates-resources'))
|
||||
addLocation(notificationId, () => import(/* webpackChunkName: "notification" */ '@hcengineering/notification-resources'))
|
||||
addLocation(calendarId, () => import(/* webpackChunkName: "calendar" */ '@hcengineering/calendar-resources'))
|
||||
|
||||
addLocation(trackerId, () => import(/* webpackChunkName: "tracker" */ '@hcengineering/tracker-resources'))
|
||||
addLocation(textEditorId, () => import(/* webpackChunkName: "text-editor" */ '@hcengineering/text-editor-resources'))
|
||||
setMetadata(uiPlugin.metadata.PlatformTitle, 'Tracker')
|
||||
setMetadata(workbench.metadata.PlatformTitle, 'Tracker')
|
||||
|
||||
setMetadata(client.metadata.FilterModel, 'ui')
|
||||
}
|
||||
@@ -1,16 +0,0 @@
|
||||
{
|
||||
"compilerOptions": {
|
||||
"outDir": "./dist/",
|
||||
"module": "esnext",
|
||||
"target": "es2016",
|
||||
"allowJs": true,
|
||||
"sourceMap": true,
|
||||
"moduleResolution": "node",
|
||||
"skipLibCheck": true,
|
||||
"allowSyntheticDefaultImports": true,
|
||||
"lib": [
|
||||
"es2016",
|
||||
"dom"
|
||||
]
|
||||
}
|
||||
}
|
||||
@@ -1,36 +0,0 @@
|
||||
//
|
||||
// Copyright © 2020 Anticrm Platform Contributors.
|
||||
//
|
||||
// Licensed under the Eclipse Public License, Version 2.0 (the "License");
|
||||
// you may not use this file except in compliance with the License. You may
|
||||
// obtain a copy of the License at https://www.eclipse.org/legal/epl-2.0
|
||||
//
|
||||
// Unless required by applicable law or agreed to in writing, software
|
||||
// distributed under the License is distributed on an "AS IS" BASIS,
|
||||
// WITHOUT WARRANTIES OR CONDITIONSe OF ANY KIND, either express or implied.
|
||||
//
|
||||
// See the License for the specific language governing permissions and
|
||||
// limitations under the License.
|
||||
//
|
||||
|
||||
const path = require('path')
|
||||
const prodModule = require('@hcengineering/prod/webpack.config')
|
||||
|
||||
module.exports = {
|
||||
...prodModule,
|
||||
output: {
|
||||
path: __dirname + '/dist',
|
||||
filename: '[name].[contenthash].js',
|
||||
chunkFilename: '[name].[contenthash].js',
|
||||
publicPath: '/'
|
||||
},
|
||||
devServer: {
|
||||
...prodModule.devServer,
|
||||
static: {
|
||||
directory: path.resolve(__dirname, "public"),
|
||||
publicPath: "/",
|
||||
serveIndex: true,
|
||||
watch: true,
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -16,7 +16,7 @@
|
||||
* path segment in the "$schema" field for all your Rush config files. This will ensure
|
||||
* correct error-underlining and tab-completion for editors such as VS Code.
|
||||
*/
|
||||
"rushVersion": "5.140.1",
|
||||
"rushVersion": "5.148.0",
|
||||
|
||||
/**
|
||||
* The next field selects which package manager should be installed and determines its version.
|
||||
@@ -26,7 +26,7 @@
|
||||
* Specify one of: "pnpmVersion", "npmVersion", or "yarnVersion". See the Rush documentation
|
||||
* for details about these alternatives.
|
||||
*/
|
||||
"pnpmVersion": "8.15.9",
|
||||
"pnpmVersion": "9.15.3",
|
||||
|
||||
// "npmVersion": "4.5.0",
|
||||
// "yarnVersion": "1.9.4",
|
||||
|
||||
@@ -1,15 +1,7 @@
|
||||
|
||||
FROM node:20
|
||||
|
||||
FROM hardcoreeng/base:v20250113a
|
||||
WORKDIR /usr/src/app
|
||||
|
||||
RUN apt-get update
|
||||
RUN apt-get install libjemalloc2
|
||||
RUN apt-get clean
|
||||
|
||||
ENV LD_PRELOAD=libjemalloc.so.2
|
||||
ENV MALLOC_CONF=dirty_decay_ms:1000,narenas:2,background_thread:true
|
||||
|
||||
COPY bundle/bundle.js ./
|
||||
|
||||
EXPOSE 3078
|
||||
|
||||
@@ -1,14 +1,5 @@
|
||||
FROM node:20
|
||||
|
||||
FROM hardcoreeng/base:v20250113a
|
||||
WORKDIR /usr/src/app
|
||||
RUN npm install --ignore-scripts=false --verbose bufferutil utf-8-validate @mongodb-js/zstd snappy --unsafe-perm
|
||||
|
||||
RUN apt-get update
|
||||
RUN apt-get install libjemalloc2
|
||||
RUN apt-get clean
|
||||
|
||||
ENV LD_PRELOAD=libjemalloc.so.2
|
||||
ENV MALLOC_CONF=dirty_decay_ms:1000,narenas:2,background_thread:true
|
||||
|
||||
RUN npm install -g pnpm
|
||||
|
||||
|
||||
@@ -1,14 +1,5 @@
|
||||
FROM node:20
|
||||
|
||||
FROM hardcoreeng/base:v20250113a
|
||||
WORKDIR /usr/src/app
|
||||
RUN npm install --ignore-scripts=false --verbose bufferutil utf-8-validate @mongodb-js/zstd snappy --unsafe-perm
|
||||
|
||||
RUN apt-get update
|
||||
RUN apt-get install libjemalloc2
|
||||
RUN apt-get clean
|
||||
|
||||
ENV LD_PRELOAD=libjemalloc.so.2
|
||||
ENV MALLOC_CONF=dirty_decay_ms:1000,narenas:2,background_thread:true
|
||||
|
||||
COPY bundle/bundle.js ./
|
||||
COPY assets/avatar.png ./
|
||||
|
||||
@@ -1,14 +1,5 @@
|
||||
FROM node:20
|
||||
|
||||
FROM hardcoreeng/base:v20250113a
|
||||
WORKDIR /usr/src/app
|
||||
RUN npm install --ignore-scripts=false --verbose bufferutil utf-8-validate @mongodb-js/zstd snappy --unsafe-perm
|
||||
|
||||
RUN apt-get update
|
||||
RUN apt-get install libjemalloc2
|
||||
RUN apt-get clean
|
||||
|
||||
ENV LD_PRELOAD=libjemalloc.so.2
|
||||
ENV MALLOC_CONF=dirty_decay_ms:1000,narenas:2,background_thread:true
|
||||
|
||||
COPY bundle/bundle.js ./
|
||||
|
||||
|
||||
@@ -1,15 +1,7 @@
|
||||
|
||||
FROM node:20
|
||||
|
||||
FROM hardcoreeng/base:v20250113a
|
||||
WORKDIR /usr/src/app
|
||||
|
||||
RUN apt-get update
|
||||
RUN apt-get install libjemalloc2
|
||||
RUN apt-get clean
|
||||
|
||||
ENV LD_PRELOAD=libjemalloc.so.2
|
||||
ENV MALLOC_CONF=dirty_decay_ms:1000,narenas:2,background_thread:true
|
||||
|
||||
COPY bundle/bundle.js ./
|
||||
|
||||
EXPOSE 8095
|
||||
|
||||
@@ -1,17 +1,7 @@
|
||||
|
||||
FROM node:20
|
||||
|
||||
FROM hardcoreeng/base:v20250113a
|
||||
WORKDIR /usr/src/app
|
||||
|
||||
RUN npm install --ignore-scripts=false --verbose bufferutil utf-8-validate @mongodb-js/zstd snappy --unsafe-perm
|
||||
|
||||
RUN apt-get update
|
||||
RUN apt-get install libjemalloc2
|
||||
RUN apt-get clean
|
||||
|
||||
ENV LD_PRELOAD=libjemalloc.so.2
|
||||
ENV MALLOC_CONF=dirty_decay_ms:1000,narenas:2,background_thread:true
|
||||
|
||||
COPY bundle/bundle.js ./
|
||||
COPY bundle/bundle.js.map ./
|
||||
|
||||
|
||||
@@ -1,15 +1,6 @@
|
||||
|
||||
FROM node:20
|
||||
|
||||
FROM hardcoreeng/base:v20250113a
|
||||
WORKDIR /usr/src/app
|
||||
|
||||
RUN apt-get update
|
||||
RUN apt-get install libjemalloc2
|
||||
RUN apt-get clean
|
||||
|
||||
ENV LD_PRELOAD=libjemalloc.so.2
|
||||
ENV MALLOC_CONF=dirty_decay_ms:1000,narenas:2,background_thread:true
|
||||
|
||||
COPY bundle/bundle.js ./
|
||||
|
||||
EXPOSE 8087
|
||||
|
||||
@@ -1,15 +1,6 @@
|
||||
|
||||
FROM node:20
|
||||
|
||||
FROM hardcoreeng/base:v20250113a
|
||||
WORKDIR /usr/src/app
|
||||
RUN npm install --ignore-scripts=false --verbose bufferutil utf-8-validate @mongodb-js/zstd snappy --unsafe-perm
|
||||
|
||||
RUN apt-get update
|
||||
RUN apt-get install libjemalloc2
|
||||
RUN apt-get clean
|
||||
|
||||
ENV LD_PRELOAD=libjemalloc.so.2
|
||||
ENV MALLOC_CONF=dirty_decay_ms:1000,narenas:2,background_thread:true
|
||||
|
||||
COPY bundle/bundle.js ./
|
||||
|
||||
|
||||
@@ -1,22 +1,6 @@
|
||||
|
||||
FROM node:20
|
||||
|
||||
# We don't need the standalone Chromium
|
||||
ENV PUPPETEER_SKIP_CHROMIUM_DOWNLOAD=true
|
||||
# Set executable path for puppeteer
|
||||
ENV PUPPETEER_EXECUTABLE_PATH=/usr/bin/chromium
|
||||
|
||||
# Install Chromium and fonts
|
||||
# https://github.com/puppeteer/puppeteer/blob/main/docs/troubleshooting.md?plain=1#L397
|
||||
RUN apt-get update && \
|
||||
apt-get install -y gnupg wget dumb-init && \
|
||||
apt-get install -y fonts-ipafont-gothic fonts-wqy-zenhei fonts-thai-tlwg fonts-kacst fonts-freefont-ttf libxss1 && \
|
||||
apt-get install -y chromium-common/stable chromium/stable --no-install-recommends && \
|
||||
apt-get clean
|
||||
|
||||
FROM hardcoreeng/print-base:v20250113a
|
||||
WORKDIR /usr/src/app
|
||||
|
||||
RUN npm install --ignore-scripts=false --verbose bufferutil utf-8-validate @mongodb-js/zstd snappy --unsafe-perm
|
||||
COPY bundle/bundle.js ./
|
||||
|
||||
CMD [ "dumb-init", "node", "bundle.js" ]
|
||||
|
||||
@@ -1,22 +1,5 @@
|
||||
FROM node:20 AS runtime
|
||||
|
||||
RUN apt-get update
|
||||
RUN apt-get install -y \
|
||||
coreutils \
|
||||
antiword \
|
||||
poppler-utils \
|
||||
html2text \
|
||||
unrtf
|
||||
ENV NODE_ENV=production
|
||||
FROM hardcoreeng/rekoni-base:v20250113a
|
||||
WORKDIR /usr/src/app
|
||||
RUN npm install --ignore-scripts=false --verbose sharp@v0.30.2 pdfjs-dist@v2.12.313 --unsafe-perm
|
||||
|
||||
RUN apt-get update
|
||||
RUN apt-get install -y libjemalloc2
|
||||
RUN apt-get clean
|
||||
|
||||
ENV LD_PRELOAD=libjemalloc.so.2
|
||||
ENV MALLOC_CONF=dirty_decay_ms:1000,narenas:2,background_thread:true
|
||||
|
||||
COPY bundle/bundle.js ./
|
||||
EXPOSE 4004
|
||||
|
||||
@@ -1,15 +1,5 @@
|
||||
FROM node:20
|
||||
|
||||
FROM hardcoreeng/base:v20250113a
|
||||
WORKDIR /usr/src/app
|
||||
|
||||
RUN apt-get update
|
||||
RUN apt-get install libjemalloc2
|
||||
RUN apt-get clean
|
||||
|
||||
ENV LD_PRELOAD=libjemalloc.so.2
|
||||
ENV MALLOC_CONF=dirty_decay_ms:1000,narenas:2,background_thread:true
|
||||
|
||||
COPY bundle/bundle.js ./
|
||||
|
||||
EXPOSE 8089
|
||||
CMD [ "node", "bundle.js" ]
|
||||
|
||||
@@ -1,18 +1,7 @@
|
||||
|
||||
FROM node:20
|
||||
|
||||
RUN apt-get update && apt-get install dumb-init
|
||||
FROM hardcoreeng/base:v20250113a
|
||||
WORKDIR /usr/src/app
|
||||
|
||||
RUN npm install --ignore-scripts=false --verbose bufferutil utf-8-validate @mongodb-js/zstd snappy --unsafe-perm
|
||||
|
||||
RUN apt-get update
|
||||
RUN apt-get install libjemalloc2
|
||||
RUN apt-get clean
|
||||
|
||||
ENV LD_PRELOAD=libjemalloc.so.2
|
||||
ENV MALLOC_CONF=dirty_decay_ms:1000,narenas:2,background_thread:true
|
||||
|
||||
COPY bundle/bundle.js ./
|
||||
|
||||
CMD [ "dumb-init", "node", "bundle.js" ]
|
||||
|
||||
@@ -1,14 +1,6 @@
|
||||
FROM node:20
|
||||
|
||||
FROM hardcoreeng/base:v20250113a
|
||||
WORKDIR /usr/src/app
|
||||
|
||||
RUN apt-get update
|
||||
RUN apt-get install libjemalloc2
|
||||
RUN apt-get clean
|
||||
|
||||
ENV LD_PRELOAD=libjemalloc.so.2
|
||||
ENV MALLOC_CONF=dirty_decay_ms:1000,narenas:2,background_thread:true
|
||||
|
||||
COPY bundle/bundle.js ./
|
||||
|
||||
EXPOSE 4020
|
||||
|
||||
@@ -1,15 +1,7 @@
|
||||
|
||||
FROM node:20
|
||||
|
||||
FROM hardcoreeng/base:v20250113a
|
||||
WORKDIR /usr/src/app
|
||||
|
||||
RUN apt-get update
|
||||
RUN apt-get install libjemalloc2
|
||||
RUN apt-get clean
|
||||
|
||||
ENV LD_PRELOAD=libjemalloc.so.2
|
||||
ENV MALLOC_CONF=dirty_decay_ms:1000,narenas:2,background_thread:true
|
||||
|
||||
COPY bundle/bundle.js ./
|
||||
|
||||
EXPOSE 8086
|
||||
|
||||
Reference in New Issue
Block a user