fix: cleanupStuckedContainers
This commit is contained in:
842
apps/trpc-experimental/server/build/lib/buildPacks/common.js
Normal file
842
apps/trpc-experimental/server/build/lib/buildPacks/common.js
Normal file
@@ -0,0 +1,842 @@
|
||||
"use strict";
|
||||
var __create = Object.create;
|
||||
var __defProp = Object.defineProperty;
|
||||
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
||||
var __getOwnPropNames = Object.getOwnPropertyNames;
|
||||
var __getProtoOf = Object.getPrototypeOf;
|
||||
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
||||
var __export = (target, all) => {
|
||||
for (var name in all)
|
||||
__defProp(target, name, { get: all[name], enumerable: true });
|
||||
};
|
||||
var __copyProps = (to, from, except, desc) => {
|
||||
if (from && typeof from === "object" || typeof from === "function") {
|
||||
for (let key of __getOwnPropNames(from))
|
||||
if (!__hasOwnProp.call(to, key) && key !== except)
|
||||
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
||||
}
|
||||
return to;
|
||||
};
|
||||
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
||||
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
|
||||
mod
|
||||
));
|
||||
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
||||
var common_exports = {};
|
||||
__export(common_exports, {
|
||||
buildCacheImageForLaravel: () => buildCacheImageForLaravel,
|
||||
buildCacheImageWithCargo: () => buildCacheImageWithCargo,
|
||||
buildCacheImageWithNode: () => buildCacheImageWithNode,
|
||||
buildImage: () => buildImage,
|
||||
checkPnpm: () => checkPnpm,
|
||||
copyBaseConfigurationFiles: () => copyBaseConfigurationFiles,
|
||||
makeLabelForSimpleDockerfile: () => makeLabelForSimpleDockerfile,
|
||||
makeLabelForStandaloneApplication: () => makeLabelForStandaloneApplication,
|
||||
saveBuildLog: () => saveBuildLog,
|
||||
saveDockerRegistryCredentials: () => saveDockerRegistryCredentials,
|
||||
scanningTemplates: () => scanningTemplates,
|
||||
setDefaultBaseImage: () => setDefaultBaseImage,
|
||||
setDefaultConfiguration: () => setDefaultConfiguration
|
||||
});
|
||||
module.exports = __toCommonJS(common_exports);
|
||||
var import_common = require("../common");
|
||||
var import_fs = require("fs");
|
||||
var import_dayjs = require("../dayjs");
|
||||
var import_prisma = require("../../prisma");
|
||||
var import_executeCommand = require("../executeCommand");
|
||||
const staticApps = ["static", "react", "vuejs", "svelte", "gatsby", "astro", "eleventy"];
|
||||
const nodeBased = [
|
||||
"react",
|
||||
"preact",
|
||||
"vuejs",
|
||||
"svelte",
|
||||
"gatsby",
|
||||
"astro",
|
||||
"eleventy",
|
||||
"node",
|
||||
"nestjs",
|
||||
"nuxtjs",
|
||||
"nextjs"
|
||||
];
|
||||
function setDefaultBaseImage(buildPack, deploymentType = null) {
|
||||
const nodeVersions = [
|
||||
{
|
||||
value: "node:lts",
|
||||
label: "node:lts"
|
||||
},
|
||||
{
|
||||
value: "node:18",
|
||||
label: "node:18"
|
||||
},
|
||||
{
|
||||
value: "node:17",
|
||||
label: "node:17"
|
||||
},
|
||||
{
|
||||
value: "node:16",
|
||||
label: "node:16"
|
||||
},
|
||||
{
|
||||
value: "node:14",
|
||||
label: "node:14"
|
||||
},
|
||||
{
|
||||
value: "node:12",
|
||||
label: "node:12"
|
||||
}
|
||||
];
|
||||
const staticVersions = [
|
||||
{
|
||||
value: "webdevops/nginx:alpine",
|
||||
label: "webdevops/nginx:alpine"
|
||||
},
|
||||
{
|
||||
value: "webdevops/apache:alpine",
|
||||
label: "webdevops/apache:alpine"
|
||||
},
|
||||
{
|
||||
value: "nginx:alpine",
|
||||
label: "nginx:alpine"
|
||||
},
|
||||
{
|
||||
value: "httpd:alpine",
|
||||
label: "httpd:alpine (Apache)"
|
||||
}
|
||||
];
|
||||
const rustVersions = [
|
||||
{
|
||||
value: "rust:latest",
|
||||
label: "rust:latest"
|
||||
},
|
||||
{
|
||||
value: "rust:1.60",
|
||||
label: "rust:1.60"
|
||||
},
|
||||
{
|
||||
value: "rust:1.60-buster",
|
||||
label: "rust:1.60-buster"
|
||||
},
|
||||
{
|
||||
value: "rust:1.60-bullseye",
|
||||
label: "rust:1.60-bullseye"
|
||||
},
|
||||
{
|
||||
value: "rust:1.60-slim-buster",
|
||||
label: "rust:1.60-slim-buster"
|
||||
},
|
||||
{
|
||||
value: "rust:1.60-slim-bullseye",
|
||||
label: "rust:1.60-slim-bullseye"
|
||||
},
|
||||
{
|
||||
value: "rust:1.60-alpine3.14",
|
||||
label: "rust:1.60-alpine3.14"
|
||||
},
|
||||
{
|
||||
value: "rust:1.60-alpine3.15",
|
||||
label: "rust:1.60-alpine3.15"
|
||||
}
|
||||
];
|
||||
const phpVersions = [
|
||||
{
|
||||
value: "webdevops/php-apache:8.2",
|
||||
label: "webdevops/php-apache:8.2"
|
||||
},
|
||||
{
|
||||
value: "webdevops/php-nginx:8.2",
|
||||
label: "webdevops/php-nginx:8.2"
|
||||
},
|
||||
{
|
||||
value: "webdevops/php-apache:8.1",
|
||||
label: "webdevops/php-apache:8.1"
|
||||
},
|
||||
{
|
||||
value: "webdevops/php-nginx:8.1",
|
||||
label: "webdevops/php-nginx:8.1"
|
||||
},
|
||||
{
|
||||
value: "webdevops/php-apache:8.0",
|
||||
label: "webdevops/php-apache:8.0"
|
||||
},
|
||||
{
|
||||
value: "webdevops/php-nginx:8.0",
|
||||
label: "webdevops/php-nginx:8.0"
|
||||
},
|
||||
{
|
||||
value: "webdevops/php-apache:7.4",
|
||||
label: "webdevops/php-apache:7.4"
|
||||
},
|
||||
{
|
||||
value: "webdevops/php-nginx:7.4",
|
||||
label: "webdevops/php-nginx:7.4"
|
||||
},
|
||||
{
|
||||
value: "webdevops/php-apache:7.3",
|
||||
label: "webdevops/php-apache:7.3"
|
||||
},
|
||||
{
|
||||
value: "webdevops/php-nginx:7.3",
|
||||
label: "webdevops/php-nginx:7.3"
|
||||
},
|
||||
{
|
||||
value: "webdevops/php-apache:7.2",
|
||||
label: "webdevops/php-apache:7.2"
|
||||
},
|
||||
{
|
||||
value: "webdevops/php-nginx:7.2",
|
||||
label: "webdevops/php-nginx:7.2"
|
||||
},
|
||||
{
|
||||
value: "webdevops/php-apache:7.1",
|
||||
label: "webdevops/php-apache:7.1"
|
||||
},
|
||||
{
|
||||
value: "webdevops/php-nginx:7.1",
|
||||
label: "webdevops/php-nginx:7.1"
|
||||
},
|
||||
{
|
||||
value: "webdevops/php-apache:7.0",
|
||||
label: "webdevops/php-apache:7.0"
|
||||
},
|
||||
{
|
||||
value: "webdevops/php-nginx:7.0",
|
||||
label: "webdevops/php-nginx:7.0"
|
||||
},
|
||||
{
|
||||
value: "webdevops/php-apache:5.6",
|
||||
label: "webdevops/php-apache:5.6"
|
||||
},
|
||||
{
|
||||
value: "webdevops/php-nginx:5.6",
|
||||
label: "webdevops/php-nginx:5.6"
|
||||
},
|
||||
{
|
||||
value: "webdevops/php-apache:8.2-alpine",
|
||||
label: "webdevops/php-apache:8.2-alpine"
|
||||
},
|
||||
{
|
||||
value: "webdevops/php-nginx:8.2-alpine",
|
||||
label: "webdevops/php-nginx:8.2-alpine"
|
||||
},
|
||||
{
|
||||
value: "webdevops/php-apache:8.1-alpine",
|
||||
label: "webdevops/php-apache:8.1-alpine"
|
||||
},
|
||||
{
|
||||
value: "webdevops/php-nginx:8.1-alpine",
|
||||
label: "webdevops/php-nginx:8.1-alpine"
|
||||
},
|
||||
{
|
||||
value: "webdevops/php-apache:8.0-alpine",
|
||||
label: "webdevops/php-apache:8.0-alpine"
|
||||
},
|
||||
{
|
||||
value: "webdevops/php-nginx:8.0-alpine",
|
||||
label: "webdevops/php-nginx:8.0-alpine"
|
||||
},
|
||||
{
|
||||
value: "webdevops/php-apache:7.4-alpine",
|
||||
label: "webdevops/php-apache:7.4-alpine"
|
||||
},
|
||||
{
|
||||
value: "webdevops/php-nginx:7.4-alpine",
|
||||
label: "webdevops/php-nginx:7.4-alpine"
|
||||
},
|
||||
{
|
||||
value: "webdevops/php-apache:7.3-alpine",
|
||||
label: "webdevops/php-apache:7.3-alpine"
|
||||
},
|
||||
{
|
||||
value: "webdevops/php-nginx:7.3-alpine",
|
||||
label: "webdevops/php-nginx:7.3-alpine"
|
||||
},
|
||||
{
|
||||
value: "webdevops/php-apache:7.2-alpine",
|
||||
label: "webdevops/php-apache:7.2-alpine"
|
||||
},
|
||||
{
|
||||
value: "webdevops/php-nginx:7.2-alpine",
|
||||
label: "webdevops/php-nginx:7.2-alpine"
|
||||
},
|
||||
{
|
||||
value: "webdevops/php-apache:7.1-alpine",
|
||||
label: "webdevops/php-apache:7.1-alpine"
|
||||
},
|
||||
{
|
||||
value: "php:8.1-fpm",
|
||||
label: "php:8.1-fpm"
|
||||
},
|
||||
{
|
||||
value: "php:8.0-fpm",
|
||||
label: "php:8.0-fpm"
|
||||
},
|
||||
{
|
||||
value: "php:8.1-fpm-alpine",
|
||||
label: "php:8.1-fpm-alpine"
|
||||
},
|
||||
{
|
||||
value: "php:8.0-fpm-alpine",
|
||||
label: "php:8.0-fpm-alpine"
|
||||
}
|
||||
];
|
||||
const pythonVersions = [
|
||||
{
|
||||
value: "python:3.10-alpine",
|
||||
label: "python:3.10-alpine"
|
||||
},
|
||||
{
|
||||
value: "python:3.10-buster",
|
||||
label: "python:3.10-buster"
|
||||
},
|
||||
{
|
||||
value: "python:3.10-bullseye",
|
||||
label: "python:3.10-bullseye"
|
||||
},
|
||||
{
|
||||
value: "python:3.10-slim-bullseye",
|
||||
label: "python:3.10-slim-bullseye"
|
||||
},
|
||||
{
|
||||
value: "python:3.9-alpine",
|
||||
label: "python:3.9-alpine"
|
||||
},
|
||||
{
|
||||
value: "python:3.9-buster",
|
||||
label: "python:3.9-buster"
|
||||
},
|
||||
{
|
||||
value: "python:3.9-bullseye",
|
||||
label: "python:3.9-bullseye"
|
||||
},
|
||||
{
|
||||
value: "python:3.9-slim-bullseye",
|
||||
label: "python:3.9-slim-bullseye"
|
||||
},
|
||||
{
|
||||
value: "python:3.8-alpine",
|
||||
label: "python:3.8-alpine"
|
||||
},
|
||||
{
|
||||
value: "python:3.8-buster",
|
||||
label: "python:3.8-buster"
|
||||
},
|
||||
{
|
||||
value: "python:3.8-bullseye",
|
||||
label: "python:3.8-bullseye"
|
||||
},
|
||||
{
|
||||
value: "python:3.8-slim-bullseye",
|
||||
label: "python:3.8-slim-bullseye"
|
||||
},
|
||||
{
|
||||
value: "python:3.7-alpine",
|
||||
label: "python:3.7-alpine"
|
||||
},
|
||||
{
|
||||
value: "python:3.7-buster",
|
||||
label: "python:3.7-buster"
|
||||
},
|
||||
{
|
||||
value: "python:3.7-bullseye",
|
||||
label: "python:3.7-bullseye"
|
||||
},
|
||||
{
|
||||
value: "python:3.7-slim-bullseye",
|
||||
label: "python:3.7-slim-bullseye"
|
||||
}
|
||||
];
|
||||
const herokuVersions = [
|
||||
{
|
||||
value: "heroku/builder:22",
|
||||
label: "heroku/builder:22"
|
||||
},
|
||||
{
|
||||
value: "heroku/buildpacks:20",
|
||||
label: "heroku/buildpacks:20"
|
||||
},
|
||||
{
|
||||
value: "heroku/builder-classic:22",
|
||||
label: "heroku/builder-classic:22"
|
||||
}
|
||||
];
|
||||
let payload = {
|
||||
baseImage: null,
|
||||
baseBuildImage: null,
|
||||
baseImages: [],
|
||||
baseBuildImages: []
|
||||
};
|
||||
if (nodeBased.includes(buildPack)) {
|
||||
if (deploymentType === "static") {
|
||||
payload.baseImage = (0, import_common.isARM)(process.arch) ? "nginx:alpine" : "webdevops/nginx:alpine";
|
||||
payload.baseImages = (0, import_common.isARM)(process.arch) ? staticVersions.filter((version2) => !version2.value.includes("webdevops")) : staticVersions;
|
||||
payload.baseBuildImage = "node:lts";
|
||||
payload.baseBuildImages = nodeVersions;
|
||||
} else {
|
||||
payload.baseImage = "node:lts";
|
||||
payload.baseImages = nodeVersions;
|
||||
payload.baseBuildImage = "node:lts";
|
||||
payload.baseBuildImages = nodeVersions;
|
||||
}
|
||||
}
|
||||
if (staticApps.includes(buildPack)) {
|
||||
payload.baseImage = (0, import_common.isARM)(process.arch) ? "nginx:alpine" : "webdevops/nginx:alpine";
|
||||
payload.baseImages = (0, import_common.isARM)(process.arch) ? staticVersions.filter((version2) => !version2.value.includes("webdevops")) : staticVersions;
|
||||
payload.baseBuildImage = "node:lts";
|
||||
payload.baseBuildImages = nodeVersions;
|
||||
}
|
||||
if (buildPack === "python") {
|
||||
payload.baseImage = "python:3.10-alpine";
|
||||
payload.baseImages = pythonVersions;
|
||||
}
|
||||
if (buildPack === "rust") {
|
||||
payload.baseImage = "rust:latest";
|
||||
payload.baseBuildImage = "rust:latest";
|
||||
payload.baseImages = rustVersions;
|
||||
payload.baseBuildImages = rustVersions;
|
||||
}
|
||||
if (buildPack === "deno") {
|
||||
payload.baseImage = "denoland/deno:latest";
|
||||
}
|
||||
if (buildPack === "php") {
|
||||
payload.baseImage = (0, import_common.isARM)(process.arch) ? "php:8.1-fpm-alpine" : "webdevops/php-apache:8.2-alpine";
|
||||
payload.baseImages = (0, import_common.isARM)(process.arch) ? phpVersions.filter((version2) => !version2.value.includes("webdevops")) : phpVersions;
|
||||
}
|
||||
if (buildPack === "laravel") {
|
||||
payload.baseImage = (0, import_common.isARM)(process.arch) ? "php:8.1-fpm-alpine" : "webdevops/php-apache:8.2-alpine";
|
||||
payload.baseImages = (0, import_common.isARM)(process.arch) ? phpVersions.filter((version2) => !version2.value.includes("webdevops")) : phpVersions;
|
||||
payload.baseBuildImage = "node:18";
|
||||
payload.baseBuildImages = nodeVersions;
|
||||
}
|
||||
if (buildPack === "heroku") {
|
||||
payload.baseImage = "heroku/buildpacks:20";
|
||||
payload.baseImages = herokuVersions;
|
||||
}
|
||||
return payload;
|
||||
}
|
||||
const setDefaultConfiguration = async (data) => {
|
||||
let {
|
||||
buildPack,
|
||||
port,
|
||||
installCommand,
|
||||
startCommand,
|
||||
buildCommand,
|
||||
publishDirectory,
|
||||
baseDirectory,
|
||||
dockerFileLocation,
|
||||
dockerComposeFileLocation,
|
||||
denoMainFile
|
||||
} = data;
|
||||
const template = scanningTemplates[buildPack];
|
||||
if (!port) {
|
||||
port = template?.port || 3e3;
|
||||
if (buildPack === "static")
|
||||
port = 80;
|
||||
else if (buildPack === "node")
|
||||
port = 3e3;
|
||||
else if (buildPack === "php")
|
||||
port = 80;
|
||||
else if (buildPack === "python")
|
||||
port = 8e3;
|
||||
}
|
||||
if (!installCommand && buildPack !== "static" && buildPack !== "laravel")
|
||||
installCommand = template?.installCommand || "yarn install";
|
||||
if (!startCommand && buildPack !== "static" && buildPack !== "laravel")
|
||||
startCommand = template?.startCommand || "yarn start";
|
||||
if (!buildCommand && buildPack !== "static" && buildPack !== "laravel")
|
||||
buildCommand = template?.buildCommand || null;
|
||||
if (!publishDirectory)
|
||||
publishDirectory = template?.publishDirectory || null;
|
||||
if (baseDirectory) {
|
||||
if (!baseDirectory.startsWith("/"))
|
||||
baseDirectory = `/${baseDirectory}`;
|
||||
if (baseDirectory.endsWith("/") && baseDirectory !== "/")
|
||||
baseDirectory = baseDirectory.slice(0, -1);
|
||||
}
|
||||
if (dockerFileLocation) {
|
||||
if (!dockerFileLocation.startsWith("/"))
|
||||
dockerFileLocation = `/${dockerFileLocation}`;
|
||||
if (dockerFileLocation.endsWith("/"))
|
||||
dockerFileLocation = dockerFileLocation.slice(0, -1);
|
||||
} else {
|
||||
dockerFileLocation = "/Dockerfile";
|
||||
}
|
||||
if (dockerComposeFileLocation) {
|
||||
if (!dockerComposeFileLocation.startsWith("/"))
|
||||
dockerComposeFileLocation = `/${dockerComposeFileLocation}`;
|
||||
if (dockerComposeFileLocation.endsWith("/"))
|
||||
dockerComposeFileLocation = dockerComposeFileLocation.slice(0, -1);
|
||||
} else {
|
||||
dockerComposeFileLocation = "/Dockerfile";
|
||||
}
|
||||
if (!denoMainFile) {
|
||||
denoMainFile = "main.ts";
|
||||
}
|
||||
return {
|
||||
buildPack,
|
||||
port,
|
||||
installCommand,
|
||||
startCommand,
|
||||
buildCommand,
|
||||
publishDirectory,
|
||||
baseDirectory,
|
||||
dockerFileLocation,
|
||||
dockerComposeFileLocation,
|
||||
denoMainFile
|
||||
};
|
||||
};
|
||||
const scanningTemplates = {
|
||||
"@sveltejs/kit": {
|
||||
buildPack: "nodejs"
|
||||
},
|
||||
astro: {
|
||||
buildPack: "astro"
|
||||
},
|
||||
"@11ty/eleventy": {
|
||||
buildPack: "eleventy"
|
||||
},
|
||||
svelte: {
|
||||
buildPack: "svelte"
|
||||
},
|
||||
"@nestjs/core": {
|
||||
buildPack: "nestjs"
|
||||
},
|
||||
next: {
|
||||
buildPack: "nextjs"
|
||||
},
|
||||
nuxt: {
|
||||
buildPack: "nuxtjs"
|
||||
},
|
||||
"react-scripts": {
|
||||
buildPack: "react"
|
||||
},
|
||||
"parcel-bundler": {
|
||||
buildPack: "static"
|
||||
},
|
||||
"@vue/cli-service": {
|
||||
buildPack: "vuejs"
|
||||
},
|
||||
vuejs: {
|
||||
buildPack: "vuejs"
|
||||
},
|
||||
gatsby: {
|
||||
buildPack: "gatsby"
|
||||
},
|
||||
"preact-cli": {
|
||||
buildPack: "react"
|
||||
}
|
||||
};
|
||||
const saveBuildLog = async ({
|
||||
line,
|
||||
buildId,
|
||||
applicationId
|
||||
}) => {
|
||||
if (buildId === "undefined" || buildId === "null" || !buildId)
|
||||
return;
|
||||
if (applicationId === "undefined" || applicationId === "null" || !applicationId)
|
||||
return;
|
||||
const { default: got } = await import("got");
|
||||
if (typeof line === "object" && line) {
|
||||
if (line.shortMessage) {
|
||||
line = line.shortMessage + "\n" + line.stderr;
|
||||
} else {
|
||||
line = JSON.stringify(line);
|
||||
}
|
||||
}
|
||||
if (line && typeof line === "string" && line.includes("ghs_")) {
|
||||
const regex = /ghs_.*@/g;
|
||||
line = line.replace(regex, "<SENSITIVE_DATA_DELETED>@");
|
||||
}
|
||||
const addTimestamp = `[${(0, import_common.generateTimestamp)()}] ${line}`;
|
||||
const fluentBitUrl = import_common.isDev ? process.env.COOLIFY_CONTAINER_DEV === "true" ? "http://coolify-fluentbit:24224" : "http://localhost:24224" : "http://coolify-fluentbit:24224";
|
||||
if (import_common.isDev && !process.env.COOLIFY_CONTAINER_DEV) {
|
||||
console.debug(`[${applicationId}] ${addTimestamp}`);
|
||||
}
|
||||
try {
|
||||
return await got.post(`${fluentBitUrl}/${applicationId}_buildlog_${buildId}.csv`, {
|
||||
json: {
|
||||
line: (0, import_common.encrypt)(line)
|
||||
}
|
||||
});
|
||||
} catch (error) {
|
||||
return await import_prisma.prisma.buildLog.create({
|
||||
data: {
|
||||
line: addTimestamp,
|
||||
buildId,
|
||||
time: Number((0, import_dayjs.day)().valueOf()),
|
||||
applicationId
|
||||
}
|
||||
});
|
||||
}
|
||||
};
|
||||
async function copyBaseConfigurationFiles(buildPack, workdir, buildId, applicationId, baseImage) {
|
||||
try {
|
||||
if (buildPack === "php") {
|
||||
await import_fs.promises.writeFile(`${workdir}/entrypoint.sh`, `chown -R 1000 /app`);
|
||||
await saveBuildLog({
|
||||
line: "Copied default configuration file for PHP.",
|
||||
buildId,
|
||||
applicationId
|
||||
});
|
||||
} else if (baseImage?.includes("nginx")) {
|
||||
await import_fs.promises.writeFile(
|
||||
`${workdir}/nginx.conf`,
|
||||
`user nginx;
|
||||
worker_processes auto;
|
||||
|
||||
error_log /docker.stdout;
|
||||
pid /run/nginx.pid;
|
||||
|
||||
events {
|
||||
worker_connections 1024;
|
||||
}
|
||||
|
||||
http {
|
||||
log_format main '$remote_addr - $remote_user [$time_local] "$request" '
|
||||
'$status $body_bytes_sent "$http_referer" '
|
||||
'"$http_user_agent" "$http_x_forwarded_for"';
|
||||
|
||||
access_log /docker.stdout main;
|
||||
|
||||
sendfile on;
|
||||
tcp_nopush on;
|
||||
tcp_nodelay on;
|
||||
keepalive_timeout 65;
|
||||
types_hash_max_size 2048;
|
||||
|
||||
include /etc/nginx/mime.types;
|
||||
default_type application/octet-stream;
|
||||
|
||||
server {
|
||||
listen 80;
|
||||
server_name localhost;
|
||||
|
||||
location / {
|
||||
root /app;
|
||||
index index.html;
|
||||
try_files $uri $uri/index.html $uri/ /index.html =404;
|
||||
}
|
||||
|
||||
error_page 404 /50x.html;
|
||||
|
||||
# redirect server error pages to the static page /50x.html
|
||||
#
|
||||
error_page 500 502 503 504 /50x.html;
|
||||
location = /50x.html {
|
||||
root /app;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
`
|
||||
);
|
||||
}
|
||||
} catch (error) {
|
||||
throw new Error(error);
|
||||
}
|
||||
}
|
||||
function checkPnpm(installCommand = null, buildCommand = null, startCommand = null) {
|
||||
return installCommand?.includes("pnpm") || buildCommand?.includes("pnpm") || startCommand?.includes("pnpm");
|
||||
}
|
||||
async function saveDockerRegistryCredentials({ url, username, password, workdir }) {
|
||||
if (!username || !password) {
|
||||
return null;
|
||||
}
|
||||
let decryptedPassword = (0, import_common.decrypt)(password);
|
||||
const location = `${workdir}/.docker`;
|
||||
try {
|
||||
await import_fs.promises.mkdir(`${workdir}/.docker`);
|
||||
} catch (error) {
|
||||
}
|
||||
const payload = JSON.stringify({
|
||||
auths: {
|
||||
[url]: {
|
||||
auth: Buffer.from(`${username}:${decryptedPassword}`).toString("base64")
|
||||
}
|
||||
}
|
||||
});
|
||||
await import_fs.promises.writeFile(`${location}/config.json`, payload);
|
||||
return location;
|
||||
}
|
||||
async function buildImage({
|
||||
applicationId,
|
||||
tag,
|
||||
workdir,
|
||||
buildId,
|
||||
dockerId,
|
||||
isCache = false,
|
||||
debug = false,
|
||||
dockerFileLocation = "/Dockerfile",
|
||||
commit,
|
||||
forceRebuild = false
|
||||
}) {
|
||||
if (isCache) {
|
||||
await saveBuildLog({ line: `Building cache image...`, buildId, applicationId });
|
||||
} else {
|
||||
await saveBuildLog({ line: `Building production image...`, buildId, applicationId });
|
||||
}
|
||||
const dockerFile = isCache ? `${dockerFileLocation}-cache` : `${dockerFileLocation}`;
|
||||
const cache = `${applicationId}:${tag}${isCache ? "-cache" : ""}`;
|
||||
let location = null;
|
||||
const { dockerRegistry } = await import_prisma.prisma.application.findUnique({
|
||||
where: { id: applicationId },
|
||||
select: { dockerRegistry: true }
|
||||
});
|
||||
if (dockerRegistry) {
|
||||
const { url, username, password } = dockerRegistry;
|
||||
location = await saveDockerRegistryCredentials({ url, username, password, workdir });
|
||||
}
|
||||
await (0, import_executeCommand.executeCommand)({
|
||||
stream: true,
|
||||
debug,
|
||||
buildId,
|
||||
applicationId,
|
||||
dockerId,
|
||||
command: `docker ${location ? `--config ${location}` : ""} build ${forceRebuild ? "--no-cache" : ""} --progress plain -f ${workdir}/${dockerFile} -t ${cache} --build-arg SOURCE_COMMIT=${commit} ${workdir}`
|
||||
});
|
||||
const { status } = await import_prisma.prisma.build.findUnique({ where: { id: buildId } });
|
||||
if (status === "canceled") {
|
||||
throw new Error("Canceled.");
|
||||
}
|
||||
}
|
||||
function makeLabelForSimpleDockerfile({ applicationId, port, type }) {
|
||||
return [
|
||||
"coolify.managed=true",
|
||||
`coolify.version=${import_common.version}`,
|
||||
`coolify.applicationId=${applicationId}`,
|
||||
`coolify.type=standalone-application`
|
||||
];
|
||||
}
|
||||
function makeLabelForStandaloneApplication({
|
||||
applicationId,
|
||||
fqdn,
|
||||
name,
|
||||
type,
|
||||
pullmergeRequestId = null,
|
||||
buildPack,
|
||||
repository,
|
||||
branch,
|
||||
projectId,
|
||||
port,
|
||||
commit,
|
||||
installCommand,
|
||||
buildCommand,
|
||||
startCommand,
|
||||
baseDirectory,
|
||||
publishDirectory
|
||||
}) {
|
||||
if (pullmergeRequestId) {
|
||||
const protocol = fqdn.startsWith("https://") ? "https" : "http";
|
||||
const domain = (0, import_common.getDomain)(fqdn);
|
||||
fqdn = `${protocol}://${pullmergeRequestId}.${domain}`;
|
||||
}
|
||||
return [
|
||||
"coolify.managed=true",
|
||||
`coolify.version=${import_common.version}`,
|
||||
`coolify.applicationId=${applicationId}`,
|
||||
`coolify.type=standalone-application`,
|
||||
`coolify.name=${name}`,
|
||||
`coolify.configuration=${(0, import_common.base64Encode)(
|
||||
JSON.stringify({
|
||||
applicationId,
|
||||
fqdn,
|
||||
name,
|
||||
type,
|
||||
pullmergeRequestId,
|
||||
buildPack,
|
||||
repository,
|
||||
branch,
|
||||
projectId,
|
||||
port,
|
||||
commit,
|
||||
installCommand,
|
||||
buildCommand,
|
||||
startCommand,
|
||||
baseDirectory,
|
||||
publishDirectory
|
||||
})
|
||||
)}`
|
||||
];
|
||||
}
|
||||
async function buildCacheImageWithNode(data, imageForBuild) {
|
||||
const {
|
||||
workdir,
|
||||
buildId,
|
||||
baseDirectory,
|
||||
installCommand,
|
||||
buildCommand,
|
||||
secrets,
|
||||
pullmergeRequestId
|
||||
} = data;
|
||||
const isPnpm = checkPnpm(installCommand, buildCommand);
|
||||
const Dockerfile = [];
|
||||
Dockerfile.push(`FROM ${imageForBuild}`);
|
||||
Dockerfile.push("WORKDIR /app");
|
||||
Dockerfile.push(`LABEL coolify.buildId=${buildId}`);
|
||||
if (secrets.length > 0) {
|
||||
(0, import_common.generateSecrets)(secrets, pullmergeRequestId, true).forEach((env) => {
|
||||
Dockerfile.push(env);
|
||||
});
|
||||
}
|
||||
if (isPnpm) {
|
||||
Dockerfile.push("RUN curl -f https://get.pnpm.io/v6.16.js | node - add --global pnpm@7");
|
||||
}
|
||||
Dockerfile.push(`COPY .${baseDirectory || ""} ./`);
|
||||
if (installCommand) {
|
||||
Dockerfile.push(`RUN ${installCommand}`);
|
||||
}
|
||||
Dockerfile.push(`RUN ${buildCommand}`);
|
||||
await import_fs.promises.writeFile(`${workdir}/Dockerfile-cache`, Dockerfile.join("\n"));
|
||||
await buildImage({ ...data, isCache: true });
|
||||
}
|
||||
async function buildCacheImageForLaravel(data, imageForBuild) {
|
||||
const { workdir, buildId, secrets, pullmergeRequestId } = data;
|
||||
const Dockerfile = [];
|
||||
Dockerfile.push(`FROM ${imageForBuild}`);
|
||||
Dockerfile.push("WORKDIR /app");
|
||||
Dockerfile.push(`LABEL coolify.buildId=${buildId}`);
|
||||
if (secrets.length > 0) {
|
||||
(0, import_common.generateSecrets)(secrets, pullmergeRequestId, true).forEach((env) => {
|
||||
Dockerfile.push(env);
|
||||
});
|
||||
}
|
||||
Dockerfile.push(`COPY *.json *.mix.js /app/`);
|
||||
Dockerfile.push(`COPY resources /app/resources`);
|
||||
Dockerfile.push(`RUN yarn install && yarn production`);
|
||||
await import_fs.promises.writeFile(`${workdir}/Dockerfile-cache`, Dockerfile.join("\n"));
|
||||
await buildImage({ ...data, isCache: true });
|
||||
}
|
||||
async function buildCacheImageWithCargo(data, imageForBuild) {
|
||||
const { applicationId, workdir, buildId } = data;
|
||||
const Dockerfile = [];
|
||||
Dockerfile.push(`FROM ${imageForBuild} as planner-${applicationId}`);
|
||||
Dockerfile.push(`LABEL coolify.buildId=${buildId}`);
|
||||
Dockerfile.push("WORKDIR /app");
|
||||
Dockerfile.push("RUN cargo install cargo-chef");
|
||||
Dockerfile.push("COPY . .");
|
||||
Dockerfile.push("RUN cargo chef prepare --recipe-path recipe.json");
|
||||
Dockerfile.push(`FROM ${imageForBuild}`);
|
||||
Dockerfile.push(`LABEL coolify.buildId=${buildId}`);
|
||||
Dockerfile.push("WORKDIR /app");
|
||||
Dockerfile.push("RUN cargo install cargo-chef");
|
||||
Dockerfile.push(`COPY --from=planner-${applicationId} /app/recipe.json recipe.json`);
|
||||
Dockerfile.push("RUN cargo chef cook --release --recipe-path recipe.json");
|
||||
await import_fs.promises.writeFile(`${workdir}/Dockerfile-cache`, Dockerfile.join("\n"));
|
||||
await buildImage({ ...data, isCache: true });
|
||||
}
|
||||
// Annotate the CommonJS export names for ESM import in node:
|
||||
0 && (module.exports = {
|
||||
buildCacheImageForLaravel,
|
||||
buildCacheImageWithCargo,
|
||||
buildCacheImageWithNode,
|
||||
buildImage,
|
||||
checkPnpm,
|
||||
copyBaseConfigurationFiles,
|
||||
makeLabelForSimpleDockerfile,
|
||||
makeLabelForStandaloneApplication,
|
||||
saveBuildLog,
|
||||
saveDockerRegistryCredentials,
|
||||
scanningTemplates,
|
||||
setDefaultBaseImage,
|
||||
setDefaultConfiguration
|
||||
});
|
||||
137
apps/trpc-experimental/server/build/lib/buildPacks/compose.js
Normal file
137
apps/trpc-experimental/server/build/lib/buildPacks/compose.js
Normal file
@@ -0,0 +1,137 @@
|
||||
"use strict";
|
||||
var __create = Object.create;
|
||||
var __defProp = Object.defineProperty;
|
||||
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
||||
var __getOwnPropNames = Object.getOwnPropertyNames;
|
||||
var __getProtoOf = Object.getPrototypeOf;
|
||||
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
||||
var __export = (target, all) => {
|
||||
for (var name in all)
|
||||
__defProp(target, name, { get: all[name], enumerable: true });
|
||||
};
|
||||
var __copyProps = (to, from, except, desc) => {
|
||||
if (from && typeof from === "object" || typeof from === "function") {
|
||||
for (let key of __getOwnPropNames(from))
|
||||
if (!__hasOwnProp.call(to, key) && key !== except)
|
||||
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
||||
}
|
||||
return to;
|
||||
};
|
||||
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
||||
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
|
||||
mod
|
||||
));
|
||||
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
||||
var compose_exports = {};
|
||||
__export(compose_exports, {
|
||||
default: () => compose_default
|
||||
});
|
||||
module.exports = __toCommonJS(compose_exports);
|
||||
var import_fs = require("fs");
|
||||
var import_common = require("../common");
|
||||
var import_common2 = require("./common");
|
||||
var import_js_yaml = __toESM(require("js-yaml"));
|
||||
var import_docker = require("../docker");
|
||||
var import_executeCommand = require("../executeCommand");
|
||||
async function compose_default(data) {
|
||||
let {
|
||||
applicationId,
|
||||
debug,
|
||||
buildId,
|
||||
dockerId,
|
||||
network,
|
||||
volumes,
|
||||
labels,
|
||||
workdir,
|
||||
baseDirectory,
|
||||
secrets,
|
||||
pullmergeRequestId,
|
||||
dockerComposeConfiguration,
|
||||
dockerComposeFileLocation
|
||||
} = data;
|
||||
const fileYaml = `${workdir}${baseDirectory}${dockerComposeFileLocation}`;
|
||||
const dockerComposeRaw = await import_fs.promises.readFile(fileYaml, "utf8");
|
||||
const dockerComposeYaml = import_js_yaml.default.load(dockerComposeRaw);
|
||||
if (!dockerComposeYaml.services) {
|
||||
throw "No Services found in docker-compose file.";
|
||||
}
|
||||
let envs = [];
|
||||
if (secrets.length > 0) {
|
||||
envs = [...envs, ...(0, import_common.generateSecrets)(secrets, pullmergeRequestId, false, null)];
|
||||
}
|
||||
const composeVolumes = [];
|
||||
if (volumes.length > 0) {
|
||||
for (const volume of volumes) {
|
||||
let [v, path] = volume.split(":");
|
||||
composeVolumes[v] = {
|
||||
name: v
|
||||
};
|
||||
}
|
||||
}
|
||||
let networks = {};
|
||||
for (let [key, value] of Object.entries(dockerComposeYaml.services)) {
|
||||
value["container_name"] = `${applicationId}-${key}`;
|
||||
let environment = typeof value["environment"] === "undefined" ? [] : value["environment"];
|
||||
value["environment"] = [...environment, ...envs];
|
||||
value["labels"] = labels;
|
||||
if (value["volumes"]?.length > 0) {
|
||||
value["volumes"] = value["volumes"].map((volume) => {
|
||||
let [v, path, permission] = volume.split(":");
|
||||
if (!path) {
|
||||
path = v;
|
||||
v = `${applicationId}${v.replace(/\//gi, "-").replace(/\./gi, "")}`;
|
||||
} else {
|
||||
v = `${applicationId}${v.replace(/\//gi, "-").replace(/\./gi, "")}`;
|
||||
}
|
||||
composeVolumes[v] = {
|
||||
name: v
|
||||
};
|
||||
return `${v}:${path}${permission ? ":" + permission : ""}`;
|
||||
});
|
||||
}
|
||||
if (volumes.length > 0) {
|
||||
for (const volume of volumes) {
|
||||
value["volumes"].push(volume);
|
||||
}
|
||||
}
|
||||
if (dockerComposeConfiguration[key].port) {
|
||||
value["expose"] = [dockerComposeConfiguration[key].port];
|
||||
}
|
||||
if (value["networks"]?.length > 0) {
|
||||
value["networks"].forEach((network2) => {
|
||||
networks[network2] = {
|
||||
name: network2
|
||||
};
|
||||
});
|
||||
}
|
||||
value["networks"] = [...value["networks"] || "", network];
|
||||
dockerComposeYaml.services[key] = {
|
||||
...dockerComposeYaml.services[key],
|
||||
restart: (0, import_docker.defaultComposeConfiguration)(network).restart,
|
||||
deploy: (0, import_docker.defaultComposeConfiguration)(network).deploy
|
||||
};
|
||||
}
|
||||
if (Object.keys(composeVolumes).length > 0) {
|
||||
dockerComposeYaml["volumes"] = { ...composeVolumes };
|
||||
}
|
||||
dockerComposeYaml["networks"] = Object.assign({ ...networks }, { [network]: { external: true } });
|
||||
await import_fs.promises.writeFile(fileYaml, import_js_yaml.default.dump(dockerComposeYaml));
|
||||
await (0, import_executeCommand.executeCommand)({
|
||||
debug,
|
||||
buildId,
|
||||
applicationId,
|
||||
dockerId,
|
||||
command: `docker compose --project-directory ${workdir} pull`
|
||||
});
|
||||
await (0, import_common2.saveBuildLog)({ line: "Pulling images from Compose file...", buildId, applicationId });
|
||||
await (0, import_executeCommand.executeCommand)({
|
||||
debug,
|
||||
buildId,
|
||||
applicationId,
|
||||
dockerId,
|
||||
command: `docker compose --project-directory ${workdir} build --progress plain`
|
||||
});
|
||||
await (0, import_common2.saveBuildLog)({ line: "Building images from Compose file...", buildId, applicationId });
|
||||
}
|
||||
// Annotate the CommonJS export names for ESM import in node:
|
||||
0 && (module.exports = {});
|
||||
74
apps/trpc-experimental/server/build/lib/buildPacks/deno.js
Normal file
74
apps/trpc-experimental/server/build/lib/buildPacks/deno.js
Normal file
@@ -0,0 +1,74 @@
|
||||
"use strict";
|
||||
var __defProp = Object.defineProperty;
|
||||
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
||||
var __getOwnPropNames = Object.getOwnPropertyNames;
|
||||
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
||||
var __export = (target, all) => {
|
||||
for (var name in all)
|
||||
__defProp(target, name, { get: all[name], enumerable: true });
|
||||
};
|
||||
var __copyProps = (to, from, except, desc) => {
|
||||
if (from && typeof from === "object" || typeof from === "function") {
|
||||
for (let key of __getOwnPropNames(from))
|
||||
if (!__hasOwnProp.call(to, key) && key !== except)
|
||||
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
||||
}
|
||||
return to;
|
||||
};
|
||||
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
||||
var deno_exports = {};
|
||||
__export(deno_exports, {
|
||||
default: () => deno_default
|
||||
});
|
||||
module.exports = __toCommonJS(deno_exports);
|
||||
var import_fs = require("fs");
|
||||
var import_common = require("../common");
|
||||
var import_common2 = require("./common");
|
||||
const createDockerfile = async (data, image) => {
|
||||
const {
|
||||
workdir,
|
||||
port,
|
||||
baseDirectory,
|
||||
secrets,
|
||||
pullmergeRequestId,
|
||||
denoMainFile,
|
||||
denoOptions,
|
||||
buildId
|
||||
} = data;
|
||||
const Dockerfile = [];
|
||||
let depsFound = false;
|
||||
try {
|
||||
await import_fs.promises.readFile(`${workdir}${baseDirectory || ""}/deps.ts`);
|
||||
depsFound = true;
|
||||
} catch (error) {
|
||||
}
|
||||
Dockerfile.push(`FROM ${image}`);
|
||||
Dockerfile.push("WORKDIR /app");
|
||||
Dockerfile.push(`LABEL coolify.buildId=${buildId}`);
|
||||
if (secrets.length > 0) {
|
||||
(0, import_common.generateSecrets)(secrets, pullmergeRequestId, true).forEach((env) => {
|
||||
Dockerfile.push(env);
|
||||
});
|
||||
}
|
||||
if (depsFound) {
|
||||
Dockerfile.push(`COPY .${baseDirectory || ""}/deps.ts /app`);
|
||||
Dockerfile.push(`RUN deno cache deps.ts`);
|
||||
}
|
||||
Dockerfile.push(`COPY .${baseDirectory || ""} ./`);
|
||||
Dockerfile.push(`RUN deno cache ${denoMainFile}`);
|
||||
Dockerfile.push(`ENV NO_COLOR true`);
|
||||
Dockerfile.push(`EXPOSE ${port}`);
|
||||
Dockerfile.push(`CMD deno run ${denoOptions || ""} ${denoMainFile}`);
|
||||
await import_fs.promises.writeFile(`${workdir}/Dockerfile`, Dockerfile.join("\n"));
|
||||
};
|
||||
async function deno_default(data) {
|
||||
try {
|
||||
const { baseImage, baseBuildImage } = data;
|
||||
await createDockerfile(data, baseImage);
|
||||
await (0, import_common2.buildImage)(data);
|
||||
} catch (error) {
|
||||
throw error;
|
||||
}
|
||||
}
|
||||
// Annotate the CommonJS export names for ESM import in node:
|
||||
0 && (module.exports = {});
|
||||
51
apps/trpc-experimental/server/build/lib/buildPacks/docker.js
Normal file
51
apps/trpc-experimental/server/build/lib/buildPacks/docker.js
Normal file
@@ -0,0 +1,51 @@
|
||||
"use strict";
|
||||
var __defProp = Object.defineProperty;
|
||||
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
||||
var __getOwnPropNames = Object.getOwnPropertyNames;
|
||||
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
||||
var __export = (target, all) => {
|
||||
for (var name in all)
|
||||
__defProp(target, name, { get: all[name], enumerable: true });
|
||||
};
|
||||
var __copyProps = (to, from, except, desc) => {
|
||||
if (from && typeof from === "object" || typeof from === "function") {
|
||||
for (let key of __getOwnPropNames(from))
|
||||
if (!__hasOwnProp.call(to, key) && key !== except)
|
||||
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
||||
}
|
||||
return to;
|
||||
};
|
||||
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
||||
var docker_exports = {};
|
||||
__export(docker_exports, {
|
||||
default: () => docker_default
|
||||
});
|
||||
module.exports = __toCommonJS(docker_exports);
|
||||
var import_fs = require("fs");
|
||||
var import_common = require("../common");
|
||||
var import_common2 = require("./common");
|
||||
async function docker_default(data) {
|
||||
let { workdir, buildId, baseDirectory, secrets, pullmergeRequestId, dockerFileLocation } = data;
|
||||
const file = `${workdir}${baseDirectory}${dockerFileLocation}`;
|
||||
data.workdir = `${workdir}${baseDirectory}`;
|
||||
const DockerfileRaw = await import_fs.promises.readFile(`${file}`, "utf8");
|
||||
const Dockerfile = DockerfileRaw.toString().trim().split("\n");
|
||||
Dockerfile.forEach((line, index) => {
|
||||
if (line.startsWith("FROM")) {
|
||||
Dockerfile.splice(index + 1, 0, `LABEL coolify.buildId=${buildId}`);
|
||||
}
|
||||
});
|
||||
if (secrets.length > 0) {
|
||||
(0, import_common.generateSecrets)(secrets, pullmergeRequestId, true).forEach((env) => {
|
||||
Dockerfile.forEach((line, index) => {
|
||||
if (line.startsWith("FROM")) {
|
||||
Dockerfile.splice(index + 1, 0, env);
|
||||
}
|
||||
});
|
||||
});
|
||||
}
|
||||
await import_fs.promises.writeFile(`${data.workdir}${dockerFileLocation}`, Dockerfile.join("\n"));
|
||||
await (0, import_common2.buildImage)(data);
|
||||
}
|
||||
// Annotate the CommonJS export names for ESM import in node:
|
||||
0 && (module.exports = {});
|
||||
50
apps/trpc-experimental/server/build/lib/buildPacks/gatsby.js
Normal file
50
apps/trpc-experimental/server/build/lib/buildPacks/gatsby.js
Normal file
@@ -0,0 +1,50 @@
|
||||
"use strict";
|
||||
var __defProp = Object.defineProperty;
|
||||
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
||||
var __getOwnPropNames = Object.getOwnPropertyNames;
|
||||
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
||||
var __export = (target, all) => {
|
||||
for (var name in all)
|
||||
__defProp(target, name, { get: all[name], enumerable: true });
|
||||
};
|
||||
var __copyProps = (to, from, except, desc) => {
|
||||
if (from && typeof from === "object" || typeof from === "function") {
|
||||
for (let key of __getOwnPropNames(from))
|
||||
if (!__hasOwnProp.call(to, key) && key !== except)
|
||||
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
||||
}
|
||||
return to;
|
||||
};
|
||||
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
||||
var gatsby_exports = {};
|
||||
__export(gatsby_exports, {
|
||||
default: () => gatsby_default
|
||||
});
|
||||
module.exports = __toCommonJS(gatsby_exports);
|
||||
var import_fs = require("fs");
|
||||
var import_common = require("./common");
|
||||
const createDockerfile = async (data, imageforBuild) => {
|
||||
const { applicationId, tag, workdir, publishDirectory, baseImage, buildId, port } = data;
|
||||
const Dockerfile = [];
|
||||
Dockerfile.push(`FROM ${imageforBuild}`);
|
||||
Dockerfile.push("WORKDIR /app");
|
||||
Dockerfile.push(`LABEL coolify.buildId=${buildId}`);
|
||||
Dockerfile.push(`COPY --from=${applicationId}:${tag}-cache /app/${publishDirectory} ./`);
|
||||
if (baseImage?.includes("nginx")) {
|
||||
Dockerfile.push(`COPY /nginx.conf /etc/nginx/nginx.conf`);
|
||||
}
|
||||
Dockerfile.push(`EXPOSE ${port}`);
|
||||
await import_fs.promises.writeFile(`${workdir}/Dockerfile`, Dockerfile.join("\n"));
|
||||
};
|
||||
async function gatsby_default(data) {
|
||||
try {
|
||||
const { baseImage, baseBuildImage } = data;
|
||||
await (0, import_common.buildCacheImageWithNode)(data, baseBuildImage);
|
||||
await createDockerfile(data, baseImage);
|
||||
await (0, import_common.buildImage)(data);
|
||||
} catch (error) {
|
||||
throw error;
|
||||
}
|
||||
}
|
||||
// Annotate the CommonJS export names for ESM import in node:
|
||||
0 && (module.exports = {});
|
||||
41
apps/trpc-experimental/server/build/lib/buildPacks/heroku.js
Normal file
41
apps/trpc-experimental/server/build/lib/buildPacks/heroku.js
Normal file
@@ -0,0 +1,41 @@
|
||||
"use strict";
|
||||
var __defProp = Object.defineProperty;
|
||||
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
||||
var __getOwnPropNames = Object.getOwnPropertyNames;
|
||||
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
||||
var __export = (target, all) => {
|
||||
for (var name in all)
|
||||
__defProp(target, name, { get: all[name], enumerable: true });
|
||||
};
|
||||
var __copyProps = (to, from, except, desc) => {
|
||||
if (from && typeof from === "object" || typeof from === "function") {
|
||||
for (let key of __getOwnPropNames(from))
|
||||
if (!__hasOwnProp.call(to, key) && key !== except)
|
||||
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
||||
}
|
||||
return to;
|
||||
};
|
||||
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
||||
var heroku_exports = {};
|
||||
__export(heroku_exports, {
|
||||
default: () => heroku_default
|
||||
});
|
||||
module.exports = __toCommonJS(heroku_exports);
|
||||
var import_executeCommand = require("../executeCommand");
|
||||
var import_common = require("./common");
|
||||
async function heroku_default(data) {
|
||||
const { buildId, applicationId, tag, dockerId, debug, workdir, baseDirectory, baseImage } = data;
|
||||
try {
|
||||
await (0, import_common.saveBuildLog)({ line: `Building production image...`, buildId, applicationId });
|
||||
await (0, import_executeCommand.executeCommand)({
|
||||
buildId,
|
||||
debug,
|
||||
dockerId,
|
||||
command: `pack build -p ${workdir}${baseDirectory} ${applicationId}:${tag} --builder ${baseImage}`
|
||||
});
|
||||
} catch (error) {
|
||||
throw error;
|
||||
}
|
||||
}
|
||||
// Annotate the CommonJS export names for ESM import in node:
|
||||
0 && (module.exports = {});
|
||||
88
apps/trpc-experimental/server/build/lib/buildPacks/index.js
Normal file
88
apps/trpc-experimental/server/build/lib/buildPacks/index.js
Normal file
@@ -0,0 +1,88 @@
|
||||
"use strict";
|
||||
var __create = Object.create;
|
||||
var __defProp = Object.defineProperty;
|
||||
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
||||
var __getOwnPropNames = Object.getOwnPropertyNames;
|
||||
var __getProtoOf = Object.getPrototypeOf;
|
||||
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
||||
var __export = (target, all) => {
|
||||
for (var name in all)
|
||||
__defProp(target, name, { get: all[name], enumerable: true });
|
||||
};
|
||||
var __copyProps = (to, from, except, desc) => {
|
||||
if (from && typeof from === "object" || typeof from === "function") {
|
||||
for (let key of __getOwnPropNames(from))
|
||||
if (!__hasOwnProp.call(to, key) && key !== except)
|
||||
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
||||
}
|
||||
return to;
|
||||
};
|
||||
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
||||
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
|
||||
mod
|
||||
));
|
||||
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
||||
var buildPacks_exports = {};
|
||||
__export(buildPacks_exports, {
|
||||
astro: () => import_static2.default,
|
||||
compose: () => import_compose.default,
|
||||
deno: () => import_deno.default,
|
||||
docker: () => import_docker.default,
|
||||
eleventy: () => import_static3.default,
|
||||
gatsby: () => import_gatsby.default,
|
||||
heroku: () => import_heroku.default,
|
||||
laravel: () => import_laravel.default,
|
||||
nestjs: () => import_nestjs.default,
|
||||
nextjs: () => import_nextjs.default,
|
||||
node: () => import_node.default,
|
||||
nuxtjs: () => import_nuxtjs.default,
|
||||
php: () => import_php.default,
|
||||
python: () => import_python.default,
|
||||
react: () => import_react.default,
|
||||
rust: () => import_rust.default,
|
||||
staticApp: () => import_static.default,
|
||||
svelte: () => import_svelte.default,
|
||||
vuejs: () => import_vuejs.default
|
||||
});
|
||||
module.exports = __toCommonJS(buildPacks_exports);
|
||||
var import_node = __toESM(require("./node"));
|
||||
var import_static = __toESM(require("./static"));
|
||||
var import_docker = __toESM(require("./docker"));
|
||||
var import_gatsby = __toESM(require("./gatsby"));
|
||||
var import_svelte = __toESM(require("./svelte"));
|
||||
var import_react = __toESM(require("./react"));
|
||||
var import_nestjs = __toESM(require("./nestjs"));
|
||||
var import_nextjs = __toESM(require("./nextjs"));
|
||||
var import_nuxtjs = __toESM(require("./nuxtjs"));
|
||||
var import_vuejs = __toESM(require("./vuejs"));
|
||||
var import_php = __toESM(require("./php"));
|
||||
var import_rust = __toESM(require("./rust"));
|
||||
var import_static2 = __toESM(require("./static"));
|
||||
var import_static3 = __toESM(require("./static"));
|
||||
var import_python = __toESM(require("./python"));
|
||||
var import_deno = __toESM(require("./deno"));
|
||||
var import_laravel = __toESM(require("./laravel"));
|
||||
var import_heroku = __toESM(require("./heroku"));
|
||||
var import_compose = __toESM(require("./compose"));
|
||||
// Annotate the CommonJS export names for ESM import in node:
|
||||
0 && (module.exports = {
|
||||
astro,
|
||||
compose,
|
||||
deno,
|
||||
docker,
|
||||
eleventy,
|
||||
gatsby,
|
||||
heroku,
|
||||
laravel,
|
||||
nestjs,
|
||||
nextjs,
|
||||
node,
|
||||
nuxtjs,
|
||||
php,
|
||||
python,
|
||||
react,
|
||||
rust,
|
||||
staticApp,
|
||||
svelte,
|
||||
vuejs
|
||||
});
|
||||
@@ -0,0 +1,68 @@
|
||||
"use strict";
|
||||
var __defProp = Object.defineProperty;
|
||||
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
||||
var __getOwnPropNames = Object.getOwnPropertyNames;
|
||||
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
||||
var __export = (target, all) => {
|
||||
for (var name in all)
|
||||
__defProp(target, name, { get: all[name], enumerable: true });
|
||||
};
|
||||
var __copyProps = (to, from, except, desc) => {
|
||||
if (from && typeof from === "object" || typeof from === "function") {
|
||||
for (let key of __getOwnPropNames(from))
|
||||
if (!__hasOwnProp.call(to, key) && key !== except)
|
||||
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
||||
}
|
||||
return to;
|
||||
};
|
||||
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
||||
var laravel_exports = {};
|
||||
__export(laravel_exports, {
|
||||
default: () => laravel_default
|
||||
});
|
||||
module.exports = __toCommonJS(laravel_exports);
|
||||
var import_fs = require("fs");
|
||||
var import_common = require("../common");
|
||||
var import_common2 = require("./common");
|
||||
const createDockerfile = async (data, image) => {
|
||||
const { workdir, applicationId, tag, buildId, port, secrets, pullmergeRequestId } = data;
|
||||
const Dockerfile = [];
|
||||
Dockerfile.push(`FROM ${image}`);
|
||||
Dockerfile.push(`LABEL coolify.buildId=${buildId}`);
|
||||
if (secrets.length > 0) {
|
||||
(0, import_common.generateSecrets)(secrets, pullmergeRequestId, true).forEach((env) => {
|
||||
Dockerfile.push(env);
|
||||
});
|
||||
}
|
||||
Dockerfile.push("WORKDIR /app");
|
||||
Dockerfile.push(`ENV WEB_DOCUMENT_ROOT /app/public`);
|
||||
Dockerfile.push(`COPY --chown=application:application composer.* ./`);
|
||||
Dockerfile.push(`COPY --chown=application:application database/ database/`);
|
||||
Dockerfile.push(
|
||||
`RUN composer install --ignore-platform-reqs --no-interaction --no-plugins --no-scripts --prefer-dist`
|
||||
);
|
||||
Dockerfile.push(
|
||||
`COPY --chown=application:application --from=${applicationId}:${tag}-cache /app/public/js/ /app/public/js/`
|
||||
);
|
||||
Dockerfile.push(
|
||||
`COPY --chown=application:application --from=${applicationId}:${tag}-cache /app/public/css/ /app/public/css/`
|
||||
);
|
||||
Dockerfile.push(
|
||||
`COPY --chown=application:application --from=${applicationId}:${tag}-cache /app/mix-manifest.json /app/public/mix-manifest.json`
|
||||
);
|
||||
Dockerfile.push(`COPY --chown=application:application . ./`);
|
||||
Dockerfile.push(`EXPOSE ${port}`);
|
||||
await import_fs.promises.writeFile(`${workdir}/Dockerfile`, Dockerfile.join("\n"));
|
||||
};
|
||||
async function laravel_default(data) {
|
||||
const { baseImage, baseBuildImage } = data;
|
||||
try {
|
||||
await (0, import_common2.buildCacheImageForLaravel)(data, baseBuildImage);
|
||||
await createDockerfile(data, baseImage);
|
||||
await (0, import_common2.buildImage)(data);
|
||||
} catch (error) {
|
||||
throw error;
|
||||
}
|
||||
}
|
||||
// Annotate the CommonJS export names for ESM import in node:
|
||||
0 && (module.exports = {});
|
||||
52
apps/trpc-experimental/server/build/lib/buildPacks/nestjs.js
Normal file
52
apps/trpc-experimental/server/build/lib/buildPacks/nestjs.js
Normal file
@@ -0,0 +1,52 @@
|
||||
"use strict";
|
||||
var __defProp = Object.defineProperty;
|
||||
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
||||
var __getOwnPropNames = Object.getOwnPropertyNames;
|
||||
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
||||
var __export = (target, all) => {
|
||||
for (var name in all)
|
||||
__defProp(target, name, { get: all[name], enumerable: true });
|
||||
};
|
||||
var __copyProps = (to, from, except, desc) => {
|
||||
if (from && typeof from === "object" || typeof from === "function") {
|
||||
for (let key of __getOwnPropNames(from))
|
||||
if (!__hasOwnProp.call(to, key) && key !== except)
|
||||
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
||||
}
|
||||
return to;
|
||||
};
|
||||
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
||||
var nestjs_exports = {};
|
||||
__export(nestjs_exports, {
|
||||
default: () => nestjs_default
|
||||
});
|
||||
module.exports = __toCommonJS(nestjs_exports);
|
||||
var import_fs = require("fs");
|
||||
var import_common = require("./common");
|
||||
const createDockerfile = async (data, image) => {
|
||||
const { buildId, applicationId, tag, port, startCommand, workdir, baseDirectory } = data;
|
||||
const Dockerfile = [];
|
||||
const isPnpm = startCommand.includes("pnpm");
|
||||
Dockerfile.push(`FROM ${image}`);
|
||||
Dockerfile.push("WORKDIR /app");
|
||||
Dockerfile.push(`LABEL coolify.buildId=${buildId}`);
|
||||
if (isPnpm) {
|
||||
Dockerfile.push("RUN curl -f https://get.pnpm.io/v6.16.js | node - add --global pnpm@7");
|
||||
}
|
||||
Dockerfile.push(`COPY --from=${applicationId}:${tag}-cache /app/${baseDirectory || ""} ./`);
|
||||
Dockerfile.push(`EXPOSE ${port}`);
|
||||
Dockerfile.push(`CMD ${startCommand}`);
|
||||
await import_fs.promises.writeFile(`${workdir}/Dockerfile`, Dockerfile.join("\n"));
|
||||
};
|
||||
async function nestjs_default(data) {
|
||||
try {
|
||||
const { baseImage, baseBuildImage } = data;
|
||||
await (0, import_common.buildCacheImageWithNode)(data, baseBuildImage);
|
||||
await createDockerfile(data, baseImage);
|
||||
await (0, import_common.buildImage)(data);
|
||||
} catch (error) {
|
||||
throw error;
|
||||
}
|
||||
}
|
||||
// Annotate the CommonJS export names for ESM import in node:
|
||||
0 && (module.exports = {});
|
||||
89
apps/trpc-experimental/server/build/lib/buildPacks/nextjs.js
Normal file
89
apps/trpc-experimental/server/build/lib/buildPacks/nextjs.js
Normal file
@@ -0,0 +1,89 @@
|
||||
"use strict";
|
||||
var __defProp = Object.defineProperty;
|
||||
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
||||
var __getOwnPropNames = Object.getOwnPropertyNames;
|
||||
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
||||
var __export = (target, all) => {
|
||||
for (var name in all)
|
||||
__defProp(target, name, { get: all[name], enumerable: true });
|
||||
};
|
||||
var __copyProps = (to, from, except, desc) => {
|
||||
if (from && typeof from === "object" || typeof from === "function") {
|
||||
for (let key of __getOwnPropNames(from))
|
||||
if (!__hasOwnProp.call(to, key) && key !== except)
|
||||
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
||||
}
|
||||
return to;
|
||||
};
|
||||
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
||||
var nextjs_exports = {};
|
||||
__export(nextjs_exports, {
|
||||
default: () => nextjs_default
|
||||
});
|
||||
module.exports = __toCommonJS(nextjs_exports);
|
||||
var import_fs = require("fs");
|
||||
var import_common = require("../common");
|
||||
var import_common2 = require("./common");
|
||||
const createDockerfile = async (data, image) => {
|
||||
const {
|
||||
applicationId,
|
||||
buildId,
|
||||
tag,
|
||||
workdir,
|
||||
publishDirectory,
|
||||
port,
|
||||
installCommand,
|
||||
buildCommand,
|
||||
startCommand,
|
||||
baseDirectory,
|
||||
secrets,
|
||||
pullmergeRequestId,
|
||||
deploymentType,
|
||||
baseImage
|
||||
} = data;
|
||||
const Dockerfile = [];
|
||||
const isPnpm = (0, import_common2.checkPnpm)(installCommand, buildCommand, startCommand);
|
||||
Dockerfile.push(`FROM ${image}`);
|
||||
Dockerfile.push("WORKDIR /app");
|
||||
Dockerfile.push(`LABEL coolify.buildId=${buildId}`);
|
||||
if (secrets.length > 0) {
|
||||
(0, import_common.generateSecrets)(secrets, pullmergeRequestId, true).forEach((env) => {
|
||||
Dockerfile.push(env);
|
||||
});
|
||||
}
|
||||
if (isPnpm) {
|
||||
Dockerfile.push("RUN curl -f https://get.pnpm.io/v6.16.js | node - add --global pnpm@7");
|
||||
}
|
||||
if (deploymentType === "node") {
|
||||
Dockerfile.push(`COPY .${baseDirectory || ""} ./`);
|
||||
Dockerfile.push(`RUN ${installCommand}`);
|
||||
Dockerfile.push(`RUN ${buildCommand}`);
|
||||
Dockerfile.push(`EXPOSE ${port}`);
|
||||
Dockerfile.push(`CMD ${startCommand}`);
|
||||
} else if (deploymentType === "static") {
|
||||
if (baseImage?.includes("nginx")) {
|
||||
Dockerfile.push(`COPY /nginx.conf /etc/nginx/nginx.conf`);
|
||||
}
|
||||
Dockerfile.push(`COPY --from=${applicationId}:${tag}-cache /app/${publishDirectory} ./`);
|
||||
Dockerfile.push(`EXPOSE 80`);
|
||||
}
|
||||
await import_fs.promises.writeFile(`${workdir}/Dockerfile`, Dockerfile.join("\n"));
|
||||
};
|
||||
async function nextjs_default(data) {
|
||||
try {
|
||||
const { baseImage, baseBuildImage, deploymentType, buildCommand } = data;
|
||||
if (deploymentType === "node") {
|
||||
await createDockerfile(data, baseImage);
|
||||
await (0, import_common2.buildImage)(data);
|
||||
} else if (deploymentType === "static") {
|
||||
if (buildCommand)
|
||||
await (0, import_common2.buildCacheImageWithNode)(data, baseBuildImage);
|
||||
await createDockerfile(data, baseImage);
|
||||
await (0, import_common2.buildImage)(data);
|
||||
}
|
||||
} catch (error) {
|
||||
throw error;
|
||||
}
|
||||
}
|
||||
// Annotate the CommonJS export names for ESM import in node:
|
||||
0 && (module.exports = {});
|
||||
71
apps/trpc-experimental/server/build/lib/buildPacks/node.js
Normal file
71
apps/trpc-experimental/server/build/lib/buildPacks/node.js
Normal file
@@ -0,0 +1,71 @@
|
||||
"use strict";
|
||||
var __defProp = Object.defineProperty;
|
||||
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
||||
var __getOwnPropNames = Object.getOwnPropertyNames;
|
||||
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
||||
var __export = (target, all) => {
|
||||
for (var name in all)
|
||||
__defProp(target, name, { get: all[name], enumerable: true });
|
||||
};
|
||||
var __copyProps = (to, from, except, desc) => {
|
||||
if (from && typeof from === "object" || typeof from === "function") {
|
||||
for (let key of __getOwnPropNames(from))
|
||||
if (!__hasOwnProp.call(to, key) && key !== except)
|
||||
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
||||
}
|
||||
return to;
|
||||
};
|
||||
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
||||
var node_exports = {};
|
||||
__export(node_exports, {
|
||||
default: () => node_default
|
||||
});
|
||||
module.exports = __toCommonJS(node_exports);
|
||||
var import_fs = require("fs");
|
||||
var import_common = require("../common");
|
||||
var import_common2 = require("./common");
|
||||
const createDockerfile = async (data, image) => {
|
||||
const {
|
||||
workdir,
|
||||
port,
|
||||
installCommand,
|
||||
buildCommand,
|
||||
startCommand,
|
||||
baseDirectory,
|
||||
secrets,
|
||||
pullmergeRequestId,
|
||||
buildId
|
||||
} = data;
|
||||
const Dockerfile = [];
|
||||
const isPnpm = (0, import_common2.checkPnpm)(installCommand, buildCommand, startCommand);
|
||||
Dockerfile.push(`FROM ${image}`);
|
||||
Dockerfile.push("WORKDIR /app");
|
||||
Dockerfile.push(`LABEL coolify.buildId=${buildId}`);
|
||||
if (secrets.length > 0) {
|
||||
(0, import_common.generateSecrets)(secrets, pullmergeRequestId, true).forEach((env) => {
|
||||
Dockerfile.push(env);
|
||||
});
|
||||
}
|
||||
if (isPnpm) {
|
||||
Dockerfile.push("RUN curl -f https://get.pnpm.io/v6.16.js | node - add --global pnpm@7");
|
||||
}
|
||||
Dockerfile.push(`COPY .${baseDirectory || ""} ./`);
|
||||
Dockerfile.push(`RUN ${installCommand}`);
|
||||
if (buildCommand) {
|
||||
Dockerfile.push(`RUN ${buildCommand}`);
|
||||
}
|
||||
Dockerfile.push(`EXPOSE ${port}`);
|
||||
Dockerfile.push(`CMD ${startCommand}`);
|
||||
await import_fs.promises.writeFile(`${workdir}/Dockerfile`, Dockerfile.join("\n"));
|
||||
};
|
||||
async function node_default(data) {
|
||||
try {
|
||||
const { baseImage } = data;
|
||||
await createDockerfile(data, baseImage);
|
||||
await (0, import_common2.buildImage)(data);
|
||||
} catch (error) {
|
||||
throw error;
|
||||
}
|
||||
}
|
||||
// Annotate the CommonJS export names for ESM import in node:
|
||||
0 && (module.exports = {});
|
||||
89
apps/trpc-experimental/server/build/lib/buildPacks/nuxtjs.js
Normal file
89
apps/trpc-experimental/server/build/lib/buildPacks/nuxtjs.js
Normal file
@@ -0,0 +1,89 @@
|
||||
"use strict";
|
||||
var __defProp = Object.defineProperty;
|
||||
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
||||
var __getOwnPropNames = Object.getOwnPropertyNames;
|
||||
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
||||
var __export = (target, all) => {
|
||||
for (var name in all)
|
||||
__defProp(target, name, { get: all[name], enumerable: true });
|
||||
};
|
||||
var __copyProps = (to, from, except, desc) => {
|
||||
if (from && typeof from === "object" || typeof from === "function") {
|
||||
for (let key of __getOwnPropNames(from))
|
||||
if (!__hasOwnProp.call(to, key) && key !== except)
|
||||
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
||||
}
|
||||
return to;
|
||||
};
|
||||
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
||||
var nuxtjs_exports = {};
|
||||
__export(nuxtjs_exports, {
|
||||
default: () => nuxtjs_default
|
||||
});
|
||||
module.exports = __toCommonJS(nuxtjs_exports);
|
||||
var import_fs = require("fs");
|
||||
var import_common = require("../common");
|
||||
var import_common2 = require("./common");
|
||||
const createDockerfile = async (data, image) => {
|
||||
const {
|
||||
applicationId,
|
||||
buildId,
|
||||
tag,
|
||||
workdir,
|
||||
publishDirectory,
|
||||
port,
|
||||
installCommand,
|
||||
buildCommand,
|
||||
startCommand,
|
||||
baseDirectory,
|
||||
secrets,
|
||||
pullmergeRequestId,
|
||||
deploymentType,
|
||||
baseImage
|
||||
} = data;
|
||||
const Dockerfile = [];
|
||||
const isPnpm = (0, import_common2.checkPnpm)(installCommand, buildCommand, startCommand);
|
||||
Dockerfile.push(`FROM ${image}`);
|
||||
Dockerfile.push("WORKDIR /app");
|
||||
Dockerfile.push(`LABEL coolify.buildId=${buildId}`);
|
||||
if (secrets.length > 0) {
|
||||
(0, import_common.generateSecrets)(secrets, pullmergeRequestId, true).forEach((env) => {
|
||||
Dockerfile.push(env);
|
||||
});
|
||||
}
|
||||
if (isPnpm) {
|
||||
Dockerfile.push("RUN curl -f https://get.pnpm.io/v6.16.js | node - add --global pnpm@7");
|
||||
}
|
||||
if (deploymentType === "node") {
|
||||
Dockerfile.push(`COPY .${baseDirectory || ""} ./`);
|
||||
Dockerfile.push(`RUN ${installCommand}`);
|
||||
Dockerfile.push(`RUN ${buildCommand}`);
|
||||
Dockerfile.push(`EXPOSE ${port}`);
|
||||
Dockerfile.push(`CMD ${startCommand}`);
|
||||
} else if (deploymentType === "static") {
|
||||
if (baseImage?.includes("nginx")) {
|
||||
Dockerfile.push(`COPY /nginx.conf /etc/nginx/nginx.conf`);
|
||||
}
|
||||
Dockerfile.push(`COPY --from=${applicationId}:${tag}-cache /app/${publishDirectory} ./`);
|
||||
Dockerfile.push(`EXPOSE 80`);
|
||||
}
|
||||
await import_fs.promises.writeFile(`${workdir}/Dockerfile`, Dockerfile.join("\n"));
|
||||
};
|
||||
async function nuxtjs_default(data) {
|
||||
try {
|
||||
const { baseImage, baseBuildImage, deploymentType, buildCommand } = data;
|
||||
if (deploymentType === "node") {
|
||||
await createDockerfile(data, baseImage);
|
||||
await (0, import_common2.buildImage)(data);
|
||||
} else if (deploymentType === "static") {
|
||||
if (buildCommand)
|
||||
await (0, import_common2.buildCacheImageWithNode)(data, baseBuildImage);
|
||||
await createDockerfile(data, baseImage);
|
||||
await (0, import_common2.buildImage)(data);
|
||||
}
|
||||
} catch (error) {
|
||||
throw error;
|
||||
}
|
||||
}
|
||||
// Annotate the CommonJS export names for ESM import in node:
|
||||
0 && (module.exports = {});
|
||||
71
apps/trpc-experimental/server/build/lib/buildPacks/php.js
Normal file
71
apps/trpc-experimental/server/build/lib/buildPacks/php.js
Normal file
@@ -0,0 +1,71 @@
|
||||
"use strict";
|
||||
var __defProp = Object.defineProperty;
|
||||
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
||||
var __getOwnPropNames = Object.getOwnPropertyNames;
|
||||
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
||||
var __export = (target, all) => {
|
||||
for (var name in all)
|
||||
__defProp(target, name, { get: all[name], enumerable: true });
|
||||
};
|
||||
var __copyProps = (to, from, except, desc) => {
|
||||
if (from && typeof from === "object" || typeof from === "function") {
|
||||
for (let key of __getOwnPropNames(from))
|
||||
if (!__hasOwnProp.call(to, key) && key !== except)
|
||||
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
||||
}
|
||||
return to;
|
||||
};
|
||||
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
||||
var php_exports = {};
|
||||
__export(php_exports, {
|
||||
default: () => php_default
|
||||
});
|
||||
module.exports = __toCommonJS(php_exports);
|
||||
var import_fs = require("fs");
|
||||
var import_common = require("../common");
|
||||
var import_common2 = require("./common");
|
||||
const createDockerfile = async (data, image, htaccessFound) => {
|
||||
const { workdir, baseDirectory, buildId, port, secrets, pullmergeRequestId } = data;
|
||||
const Dockerfile = [];
|
||||
let composerFound = false;
|
||||
try {
|
||||
await import_fs.promises.readFile(`${workdir}${baseDirectory || ""}/composer.json`);
|
||||
composerFound = true;
|
||||
} catch (error) {
|
||||
}
|
||||
Dockerfile.push(`FROM ${image}`);
|
||||
Dockerfile.push(`LABEL coolify.buildId=${buildId}`);
|
||||
if (secrets.length > 0) {
|
||||
(0, import_common.generateSecrets)(secrets, pullmergeRequestId, true).forEach((env) => {
|
||||
Dockerfile.push(env);
|
||||
});
|
||||
}
|
||||
Dockerfile.push("WORKDIR /app");
|
||||
Dockerfile.push(`COPY .${baseDirectory || ""} /app`);
|
||||
if (htaccessFound) {
|
||||
Dockerfile.push(`COPY .${baseDirectory || ""}/.htaccess ./`);
|
||||
}
|
||||
if (composerFound) {
|
||||
Dockerfile.push(`RUN composer install`);
|
||||
}
|
||||
Dockerfile.push(`COPY /entrypoint.sh /opt/docker/provision/entrypoint.d/30-entrypoint.sh`);
|
||||
Dockerfile.push(`EXPOSE ${port}`);
|
||||
await import_fs.promises.writeFile(`${workdir}/Dockerfile`, Dockerfile.join("\n"));
|
||||
};
|
||||
async function php_default(data) {
|
||||
const { workdir, baseDirectory, baseImage } = data;
|
||||
try {
|
||||
let htaccessFound = false;
|
||||
try {
|
||||
await import_fs.promises.readFile(`${workdir}${baseDirectory || ""}/.htaccess`);
|
||||
htaccessFound = true;
|
||||
} catch (e) {
|
||||
}
|
||||
await createDockerfile(data, baseImage, htaccessFound);
|
||||
await (0, import_common2.buildImage)(data);
|
||||
} catch (error) {
|
||||
throw error;
|
||||
}
|
||||
}
|
||||
// Annotate the CommonJS export names for ESM import in node:
|
||||
0 && (module.exports = {});
|
||||
86
apps/trpc-experimental/server/build/lib/buildPacks/python.js
Normal file
86
apps/trpc-experimental/server/build/lib/buildPacks/python.js
Normal file
@@ -0,0 +1,86 @@
|
||||
"use strict";
|
||||
var __defProp = Object.defineProperty;
|
||||
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
||||
var __getOwnPropNames = Object.getOwnPropertyNames;
|
||||
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
||||
var __export = (target, all) => {
|
||||
for (var name in all)
|
||||
__defProp(target, name, { get: all[name], enumerable: true });
|
||||
};
|
||||
var __copyProps = (to, from, except, desc) => {
|
||||
if (from && typeof from === "object" || typeof from === "function") {
|
||||
for (let key of __getOwnPropNames(from))
|
||||
if (!__hasOwnProp.call(to, key) && key !== except)
|
||||
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
||||
}
|
||||
return to;
|
||||
};
|
||||
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
||||
var python_exports = {};
|
||||
__export(python_exports, {
|
||||
default: () => python_default
|
||||
});
|
||||
module.exports = __toCommonJS(python_exports);
|
||||
var import_fs = require("fs");
|
||||
var import_common = require("../common");
|
||||
var import_common2 = require("./common");
|
||||
const createDockerfile = async (data, image) => {
|
||||
const {
|
||||
workdir,
|
||||
port,
|
||||
baseDirectory,
|
||||
secrets,
|
||||
pullmergeRequestId,
|
||||
pythonWSGI,
|
||||
pythonModule,
|
||||
pythonVariable,
|
||||
buildId
|
||||
} = data;
|
||||
const Dockerfile = [];
|
||||
Dockerfile.push(`FROM ${image}`);
|
||||
Dockerfile.push("WORKDIR /app");
|
||||
Dockerfile.push(`LABEL coolify.buildId=${buildId}`);
|
||||
if (secrets.length > 0) {
|
||||
(0, import_common.generateSecrets)(secrets, pullmergeRequestId, true).forEach((env) => {
|
||||
Dockerfile.push(env);
|
||||
});
|
||||
}
|
||||
if (pythonWSGI?.toLowerCase() === "gunicorn") {
|
||||
Dockerfile.push(`RUN pip install gunicorn`);
|
||||
} else if (pythonWSGI?.toLowerCase() === "uvicorn") {
|
||||
Dockerfile.push(`RUN pip install uvicorn`);
|
||||
} else if (pythonWSGI?.toLowerCase() === "uwsgi") {
|
||||
Dockerfile.push(`RUN apk add --no-cache uwsgi-python3`);
|
||||
}
|
||||
try {
|
||||
await import_fs.promises.stat(`${workdir}${baseDirectory || ""}/requirements.txt`);
|
||||
Dockerfile.push(`COPY .${baseDirectory || ""}/requirements.txt ./`);
|
||||
Dockerfile.push(`RUN pip install --no-cache-dir -r .${baseDirectory || ""}/requirements.txt`);
|
||||
} catch (e) {
|
||||
}
|
||||
Dockerfile.push(`COPY .${baseDirectory || ""} ./`);
|
||||
Dockerfile.push(`EXPOSE ${port}`);
|
||||
if (pythonWSGI?.toLowerCase() === "gunicorn") {
|
||||
Dockerfile.push(`CMD gunicorn -w=4 -b=0.0.0.0:8000 ${pythonModule}:${pythonVariable}`);
|
||||
} else if (pythonWSGI?.toLowerCase() === "uvicorn") {
|
||||
Dockerfile.push(`CMD uvicorn ${pythonModule}:${pythonVariable} --port ${port} --host 0.0.0.0`);
|
||||
} else if (pythonWSGI?.toLowerCase() === "uwsgi") {
|
||||
Dockerfile.push(
|
||||
`CMD uwsgi --master -p 4 --http-socket 0.0.0.0:8000 --uid uwsgi --plugins python3 --protocol uwsgi --wsgi ${pythonModule}:${pythonVariable}`
|
||||
);
|
||||
} else {
|
||||
Dockerfile.push(`CMD python ${pythonModule}`);
|
||||
}
|
||||
await import_fs.promises.writeFile(`${workdir}/Dockerfile`, Dockerfile.join("\n"));
|
||||
};
|
||||
async function python_default(data) {
|
||||
try {
|
||||
const { baseImage, baseBuildImage } = data;
|
||||
await createDockerfile(data, baseImage);
|
||||
await (0, import_common2.buildImage)(data);
|
||||
} catch (error) {
|
||||
throw error;
|
||||
}
|
||||
}
|
||||
// Annotate the CommonJS export names for ESM import in node:
|
||||
0 && (module.exports = {});
|
||||
50
apps/trpc-experimental/server/build/lib/buildPacks/react.js
vendored
Normal file
50
apps/trpc-experimental/server/build/lib/buildPacks/react.js
vendored
Normal file
@@ -0,0 +1,50 @@
|
||||
"use strict";
|
||||
var __defProp = Object.defineProperty;
|
||||
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
||||
var __getOwnPropNames = Object.getOwnPropertyNames;
|
||||
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
||||
var __export = (target, all) => {
|
||||
for (var name in all)
|
||||
__defProp(target, name, { get: all[name], enumerable: true });
|
||||
};
|
||||
var __copyProps = (to, from, except, desc) => {
|
||||
if (from && typeof from === "object" || typeof from === "function") {
|
||||
for (let key of __getOwnPropNames(from))
|
||||
if (!__hasOwnProp.call(to, key) && key !== except)
|
||||
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
||||
}
|
||||
return to;
|
||||
};
|
||||
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
||||
var react_exports = {};
|
||||
__export(react_exports, {
|
||||
default: () => react_default
|
||||
});
|
||||
module.exports = __toCommonJS(react_exports);
|
||||
var import_fs = require("fs");
|
||||
var import_common = require("./common");
|
||||
const createDockerfile = async (data, image) => {
|
||||
const { applicationId, tag, workdir, publishDirectory, baseImage, buildId, port } = data;
|
||||
const Dockerfile = [];
|
||||
Dockerfile.push(`FROM ${image}`);
|
||||
Dockerfile.push(`LABEL coolify.buildId=${buildId}`);
|
||||
Dockerfile.push("WORKDIR /app");
|
||||
Dockerfile.push(`COPY --from=${applicationId}:${tag}-cache /app/${publishDirectory} ./`);
|
||||
if (baseImage?.includes("nginx")) {
|
||||
Dockerfile.push(`COPY /nginx.conf /etc/nginx/nginx.conf`);
|
||||
}
|
||||
Dockerfile.push(`EXPOSE ${port}`);
|
||||
await import_fs.promises.writeFile(`${workdir}/Dockerfile`, Dockerfile.join("\n"));
|
||||
};
|
||||
async function react_default(data) {
|
||||
try {
|
||||
const { baseImage, baseBuildImage } = data;
|
||||
await (0, import_common.buildCacheImageWithNode)(data, baseBuildImage);
|
||||
await createDockerfile(data, baseImage);
|
||||
await (0, import_common.buildImage)(data);
|
||||
} catch (error) {
|
||||
throw error;
|
||||
}
|
||||
}
|
||||
// Annotate the CommonJS export names for ESM import in node:
|
||||
0 && (module.exports = {});
|
||||
69
apps/trpc-experimental/server/build/lib/buildPacks/rust.js
Normal file
69
apps/trpc-experimental/server/build/lib/buildPacks/rust.js
Normal file
@@ -0,0 +1,69 @@
|
||||
"use strict";
|
||||
var __create = Object.create;
|
||||
var __defProp = Object.defineProperty;
|
||||
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
||||
var __getOwnPropNames = Object.getOwnPropertyNames;
|
||||
var __getProtoOf = Object.getPrototypeOf;
|
||||
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
||||
var __export = (target, all) => {
|
||||
for (var name in all)
|
||||
__defProp(target, name, { get: all[name], enumerable: true });
|
||||
};
|
||||
var __copyProps = (to, from, except, desc) => {
|
||||
if (from && typeof from === "object" || typeof from === "function") {
|
||||
for (let key of __getOwnPropNames(from))
|
||||
if (!__hasOwnProp.call(to, key) && key !== except)
|
||||
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
||||
}
|
||||
return to;
|
||||
};
|
||||
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
||||
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
|
||||
mod
|
||||
));
|
||||
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
||||
var rust_exports = {};
|
||||
__export(rust_exports, {
|
||||
default: () => rust_default
|
||||
});
|
||||
module.exports = __toCommonJS(rust_exports);
|
||||
var import_fs = require("fs");
|
||||
var import_toml = __toESM(require("@iarna/toml"));
|
||||
var import_common = require("./common");
|
||||
var import_executeCommand = require("../executeCommand");
|
||||
const createDockerfile = async (data, image, name) => {
|
||||
const { workdir, port, applicationId, tag, buildId } = data;
|
||||
const Dockerfile = [];
|
||||
Dockerfile.push(`FROM ${image}`);
|
||||
Dockerfile.push("WORKDIR /app");
|
||||
Dockerfile.push(`LABEL coolify.buildId=${buildId}`);
|
||||
Dockerfile.push(`COPY --from=${applicationId}:${tag}-cache /app/target target`);
|
||||
Dockerfile.push(`COPY --from=${applicationId}:${tag}-cache /usr/local/cargo /usr/local/cargo`);
|
||||
Dockerfile.push(`COPY . .`);
|
||||
Dockerfile.push(`RUN cargo build --release --bin ${name}`);
|
||||
Dockerfile.push("FROM debian:buster-slim");
|
||||
Dockerfile.push("WORKDIR /app");
|
||||
Dockerfile.push(
|
||||
`RUN apt-get update -y && apt-get install -y --no-install-recommends openssl libcurl4 ca-certificates && apt-get autoremove -y && apt-get clean -y && rm -rf /var/lib/apt/lists/*`
|
||||
);
|
||||
Dockerfile.push(`RUN update-ca-certificates`);
|
||||
Dockerfile.push(`COPY --from=${applicationId}:${tag}-cache /app/target/release/${name} ${name}`);
|
||||
Dockerfile.push(`EXPOSE ${port}`);
|
||||
Dockerfile.push(`CMD ["/app/${name}"]`);
|
||||
await import_fs.promises.writeFile(`${workdir}/Dockerfile`, Dockerfile.join("\n"));
|
||||
};
|
||||
async function rust_default(data) {
|
||||
try {
|
||||
const { workdir, baseImage, baseBuildImage } = data;
|
||||
const { stdout: cargoToml } = await (0, import_executeCommand.executeCommand)({ command: `cat ${workdir}/Cargo.toml` });
|
||||
const parsedToml = import_toml.default.parse(cargoToml);
|
||||
const name = parsedToml.package.name;
|
||||
await (0, import_common.buildCacheImageWithCargo)(data, baseBuildImage);
|
||||
await createDockerfile(data, baseImage, name);
|
||||
await (0, import_common.buildImage)(data);
|
||||
} catch (error) {
|
||||
throw error;
|
||||
}
|
||||
}
|
||||
// Annotate the CommonJS export names for ESM import in node:
|
||||
0 && (module.exports = {});
|
||||
77
apps/trpc-experimental/server/build/lib/buildPacks/static.js
Normal file
77
apps/trpc-experimental/server/build/lib/buildPacks/static.js
Normal file
@@ -0,0 +1,77 @@
|
||||
"use strict";
|
||||
var __defProp = Object.defineProperty;
|
||||
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
||||
var __getOwnPropNames = Object.getOwnPropertyNames;
|
||||
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
||||
var __export = (target, all) => {
|
||||
for (var name in all)
|
||||
__defProp(target, name, { get: all[name], enumerable: true });
|
||||
};
|
||||
var __copyProps = (to, from, except, desc) => {
|
||||
if (from && typeof from === "object" || typeof from === "function") {
|
||||
for (let key of __getOwnPropNames(from))
|
||||
if (!__hasOwnProp.call(to, key) && key !== except)
|
||||
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
||||
}
|
||||
return to;
|
||||
};
|
||||
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
||||
var static_exports = {};
|
||||
__export(static_exports, {
|
||||
default: () => static_default
|
||||
});
|
||||
module.exports = __toCommonJS(static_exports);
|
||||
var import_fs = require("fs");
|
||||
var import_common = require("../common");
|
||||
var import_common2 = require("./common");
|
||||
const createDockerfile = async (data, image) => {
|
||||
const {
|
||||
applicationId,
|
||||
tag,
|
||||
workdir,
|
||||
buildCommand,
|
||||
baseDirectory,
|
||||
publishDirectory,
|
||||
secrets,
|
||||
pullmergeRequestId,
|
||||
baseImage,
|
||||
buildId,
|
||||
port
|
||||
} = data;
|
||||
const Dockerfile = [];
|
||||
Dockerfile.push(`FROM ${image}`);
|
||||
if (baseImage?.includes("httpd")) {
|
||||
Dockerfile.push("WORKDIR /usr/local/apache2/htdocs/");
|
||||
} else {
|
||||
Dockerfile.push("WORKDIR /app");
|
||||
}
|
||||
Dockerfile.push(`LABEL coolify.buildId=${buildId}`);
|
||||
if (secrets.length > 0) {
|
||||
(0, import_common.generateSecrets)(secrets, pullmergeRequestId, true).forEach((env) => {
|
||||
Dockerfile.push(env);
|
||||
});
|
||||
}
|
||||
if (buildCommand) {
|
||||
Dockerfile.push(`COPY --from=${applicationId}:${tag}-cache /app/${publishDirectory} ./`);
|
||||
} else {
|
||||
Dockerfile.push(`COPY .${baseDirectory || ""} ./`);
|
||||
}
|
||||
if (baseImage?.includes("nginx")) {
|
||||
Dockerfile.push(`COPY /nginx.conf /etc/nginx/nginx.conf`);
|
||||
}
|
||||
Dockerfile.push(`EXPOSE ${port}`);
|
||||
await import_fs.promises.writeFile(`${workdir}/Dockerfile`, Dockerfile.join("\n"));
|
||||
};
|
||||
async function static_default(data) {
|
||||
try {
|
||||
const { baseImage, baseBuildImage } = data;
|
||||
if (data.buildCommand)
|
||||
await (0, import_common2.buildCacheImageWithNode)(data, baseBuildImage);
|
||||
await createDockerfile(data, baseImage);
|
||||
await (0, import_common2.buildImage)(data);
|
||||
} catch (error) {
|
||||
throw error;
|
||||
}
|
||||
}
|
||||
// Annotate the CommonJS export names for ESM import in node:
|
||||
0 && (module.exports = {});
|
||||
50
apps/trpc-experimental/server/build/lib/buildPacks/svelte.js
Normal file
50
apps/trpc-experimental/server/build/lib/buildPacks/svelte.js
Normal file
@@ -0,0 +1,50 @@
|
||||
"use strict";
|
||||
var __defProp = Object.defineProperty;
|
||||
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
||||
var __getOwnPropNames = Object.getOwnPropertyNames;
|
||||
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
||||
var __export = (target, all) => {
|
||||
for (var name in all)
|
||||
__defProp(target, name, { get: all[name], enumerable: true });
|
||||
};
|
||||
var __copyProps = (to, from, except, desc) => {
|
||||
if (from && typeof from === "object" || typeof from === "function") {
|
||||
for (let key of __getOwnPropNames(from))
|
||||
if (!__hasOwnProp.call(to, key) && key !== except)
|
||||
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
||||
}
|
||||
return to;
|
||||
};
|
||||
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
||||
var svelte_exports = {};
|
||||
__export(svelte_exports, {
|
||||
default: () => svelte_default
|
||||
});
|
||||
module.exports = __toCommonJS(svelte_exports);
|
||||
var import_fs = require("fs");
|
||||
var import_common = require("./common");
|
||||
const createDockerfile = async (data, image) => {
|
||||
const { applicationId, tag, workdir, publishDirectory, baseImage, buildId, port } = data;
|
||||
const Dockerfile = [];
|
||||
Dockerfile.push(`FROM ${image}`);
|
||||
Dockerfile.push("WORKDIR /app");
|
||||
Dockerfile.push(`LABEL coolify.buildId=${buildId}`);
|
||||
Dockerfile.push(`COPY --from=${applicationId}:${tag}-cache /app/${publishDirectory} ./`);
|
||||
if (baseImage?.includes("nginx")) {
|
||||
Dockerfile.push(`COPY /nginx.conf /etc/nginx/nginx.conf`);
|
||||
}
|
||||
Dockerfile.push(`EXPOSE ${port}`);
|
||||
await import_fs.promises.writeFile(`${workdir}/Dockerfile`, Dockerfile.join("\n"));
|
||||
};
|
||||
async function svelte_default(data) {
|
||||
try {
|
||||
const { baseImage, baseBuildImage } = data;
|
||||
await (0, import_common.buildCacheImageWithNode)(data, baseBuildImage);
|
||||
await createDockerfile(data, baseImage);
|
||||
await (0, import_common.buildImage)(data);
|
||||
} catch (error) {
|
||||
throw error;
|
||||
}
|
||||
}
|
||||
// Annotate the CommonJS export names for ESM import in node:
|
||||
0 && (module.exports = {});
|
||||
50
apps/trpc-experimental/server/build/lib/buildPacks/vuejs.js
Normal file
50
apps/trpc-experimental/server/build/lib/buildPacks/vuejs.js
Normal file
@@ -0,0 +1,50 @@
|
||||
"use strict";
|
||||
var __defProp = Object.defineProperty;
|
||||
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
||||
var __getOwnPropNames = Object.getOwnPropertyNames;
|
||||
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
||||
var __export = (target, all) => {
|
||||
for (var name in all)
|
||||
__defProp(target, name, { get: all[name], enumerable: true });
|
||||
};
|
||||
var __copyProps = (to, from, except, desc) => {
|
||||
if (from && typeof from === "object" || typeof from === "function") {
|
||||
for (let key of __getOwnPropNames(from))
|
||||
if (!__hasOwnProp.call(to, key) && key !== except)
|
||||
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
||||
}
|
||||
return to;
|
||||
};
|
||||
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
||||
var vuejs_exports = {};
|
||||
__export(vuejs_exports, {
|
||||
default: () => vuejs_default
|
||||
});
|
||||
module.exports = __toCommonJS(vuejs_exports);
|
||||
var import_fs = require("fs");
|
||||
var import_common = require("./common");
|
||||
const createDockerfile = async (data, image) => {
|
||||
const { applicationId, tag, workdir, publishDirectory, baseImage, buildId, port } = data;
|
||||
const Dockerfile = [];
|
||||
Dockerfile.push(`FROM ${image}`);
|
||||
Dockerfile.push("WORKDIR /app");
|
||||
Dockerfile.push(`LABEL coolify.buildId=${buildId}`);
|
||||
Dockerfile.push(`COPY --from=${applicationId}:${tag}-cache /app/${publishDirectory} ./`);
|
||||
if (baseImage?.includes("nginx")) {
|
||||
Dockerfile.push(`COPY /nginx.conf /etc/nginx/nginx.conf`);
|
||||
}
|
||||
Dockerfile.push(`EXPOSE ${port}`);
|
||||
await import_fs.promises.writeFile(`${workdir}/Dockerfile`, Dockerfile.join("\n"));
|
||||
};
|
||||
async function vuejs_default(data) {
|
||||
try {
|
||||
const { baseImage, baseBuildImage } = data;
|
||||
await (0, import_common.buildCacheImageWithNode)(data, baseBuildImage);
|
||||
await createDockerfile(data, baseImage);
|
||||
await (0, import_common.buildImage)(data);
|
||||
} catch (error) {
|
||||
throw error;
|
||||
}
|
||||
}
|
||||
// Annotate the CommonJS export names for ESM import in node:
|
||||
0 && (module.exports = {});
|
||||
Reference in New Issue
Block a user