Compare commits

...

9 Commits

Author SHA1 Message Date
Andras Bacsai
986c5b7133 Merge pull request #264 from coollabsio/v2.2.7
v2.2.7
2022-04-01 14:43:53 +02:00
Andras Bacsai
4e334d4fff fix: Use NodeJS for sveltekit for now 2022-04-01 14:41:38 +02:00
Andras Bacsai
dcf7f92aab fix: Build variables 2022-04-01 14:29:06 +02:00
Andras Bacsai
f6a91cb53c fix: Haproxy errors 2022-04-01 00:07:29 +02:00
Andras Bacsai
726fbbb52a Merge pull request #257 from coollabsio/v2.2.6
v2.2.6
2022-03-31 20:57:34 +02:00
Andras Bacsai
29d2278579 fix: Add PROTO headers 2022-03-31 20:55:58 +02:00
Andras Bacsai
72ceeff022 Merge pull request #255 from coollabsio/v2.2.5
v2.2.5
2022-03-31 17:47:46 +02:00
Andras Bacsai
54d65ec011 chore: Version++ 2022-03-31 17:45:20 +02:00
Andras Bacsai
96aef5c4a6 fix: registration enabled/disabled 2022-03-31 17:45:04 +02:00
12 changed files with 44 additions and 31 deletions

View File

@@ -1,7 +1,7 @@
{
"name": "coolify",
"description": "An open-source & self-hostable Heroku / Netlify alternative.",
"version": "2.2.4",
"version": "2.2.7",
"license": "AGPL-3.0",
"scripts": {
"dev": "docker-compose -f docker-compose-dev.yaml up -d && NODE_ENV=development svelte-kit dev",

View File

@@ -28,11 +28,11 @@ export default async function ({
if (secret.isBuildSecret) {
if (pullmergeRequestId) {
if (secret.isPRMRSecret) {
Dockerfile.push(`ARG ${secret.name} ${secret.value}`);
Dockerfile.push(`ARG ${secret.name}=${secret.value}`);
}
} else {
if (!secret.isPRMRSecret) {
Dockerfile.push(`ARG ${secret.name} ${secret.value}`);
Dockerfile.push(`ARG ${secret.name}=${secret.value}`);
}
}
}

View File

@@ -23,11 +23,11 @@ const createDockerfile = async (data, image): Promise<void> => {
if (secret.isBuildSecret) {
if (pullmergeRequestId) {
if (secret.isPRMRSecret) {
Dockerfile.push(`ARG ${secret.name} ${secret.value}`);
Dockerfile.push(`ARG ${secret.name}=${secret.value}`);
}
} else {
if (!secret.isPRMRSecret) {
Dockerfile.push(`ARG ${secret.name} ${secret.value}`);
Dockerfile.push(`ARG ${secret.name}=${secret.value}`);
}
}
}

View File

@@ -24,11 +24,11 @@ const createDockerfile = async (data, image): Promise<void> => {
if (secret.isBuildSecret) {
if (pullmergeRequestId) {
if (secret.isPRMRSecret) {
Dockerfile.push(`ARG ${secret.name} ${secret.value}`);
Dockerfile.push(`ARG ${secret.name}=${secret.value}`);
}
} else {
if (!secret.isPRMRSecret) {
Dockerfile.push(`ARG ${secret.name} ${secret.value}`);
Dockerfile.push(`ARG ${secret.name}=${secret.value}`);
}
}
}

View File

@@ -23,11 +23,11 @@ const createDockerfile = async (data, image): Promise<void> => {
if (secret.isBuildSecret) {
if (pullmergeRequestId) {
if (secret.isPRMRSecret) {
Dockerfile.push(`ARG ${secret.name} ${secret.value}`);
Dockerfile.push(`ARG ${secret.name}=${secret.value}`);
}
} else {
if (!secret.isPRMRSecret) {
Dockerfile.push(`ARG ${secret.name} ${secret.value}`);
Dockerfile.push(`ARG ${secret.name}=${secret.value}`);
}
}
}

View File

@@ -22,11 +22,11 @@ const createDockerfile = async (data, image): Promise<void> => {
if (secret.isBuildSecret) {
if (pullmergeRequestId) {
if (secret.isPRMRSecret) {
Dockerfile.push(`ARG ${secret.name} ${secret.value}`);
Dockerfile.push(`ARG ${secret.name}=${secret.value}`);
}
} else {
if (!secret.isPRMRSecret) {
Dockerfile.push(`ARG ${secret.name} ${secret.value}`);
Dockerfile.push(`ARG ${secret.name}=${secret.value}`);
}
}
}

View File

@@ -252,6 +252,9 @@ export const buildPacks = [
}
];
export const scanningTemplates = {
'@sveltejs/kit': {
buildPack: 'nodejs'
},
astro: {
buildPack: 'astro'
},

View File

@@ -27,11 +27,11 @@ export async function buildCacheImageWithNode(data, imageForBuild) {
if (secret.isBuildSecret) {
if (pullmergeRequestId) {
if (secret.isPRMRSecret) {
Dockerfile.push(`ARG ${secret.name} ${secret.value}`);
Dockerfile.push(`ARG ${secret.name}=${secret.value}`);
}
} else {
if (!secret.isPRMRSecret) {
Dockerfile.push(`ARG ${secret.name} ${secret.value}`);
Dockerfile.push(`ARG ${secret.name}=${secret.value}`);
}
}
}

View File

@@ -33,6 +33,7 @@ frontend http
bind :80
bind :443 ssl crt /usr/local/etc/haproxy/ssl/ alpn h2,http/1.1
acl is_certbot path_beg /.well-known/acme-challenge/
{{#applications}}
{{#isHttps}}
http-request redirect scheme https code ${
@@ -43,6 +44,7 @@ frontend http
dev ? 302 : 301
} if { req.hdr(host) -i {{redirectTo}} }
{{/applications}}
{{#services}}
{{#isHttps}}
http-request redirect scheme https code ${
@@ -53,6 +55,7 @@ frontend http
dev ? 302 : 301
} if { req.hdr(host) -i {{redirectTo}} }
{{/services}}
{{#coolify}}
{{#isHttps}}
http-request redirect scheme https code ${
@@ -63,6 +66,7 @@ frontend http
dev ? 302 : 301
} if { req.hdr(host) -i {{redirectTo}} }
{{/coolify}}
use_backend backend-certbot if is_certbot
use_backend %[req.hdr(host),lower]
@@ -82,6 +86,13 @@ backend backend-certbot
# updatedAt={{updatedAt}}
backend {{domain}}
option forwardfor
{{#isHttps}}
http-request add-header X-Forwarded-Proto https
{{/isHttps}}
{{^isHttps}}
http-request add-header X-Forwarded-Proto http
{{/isHttps}}
http-request add-header X-Forwarded-Host %[req.hdr(host),lower]
server {{id}} {{id}}:{{port}}
{{/isRunning}}
{{/applications}}
@@ -91,6 +102,13 @@ backend {{domain}}
# updatedAt={{updatedAt}}
backend {{domain}}
option forwardfor
{{#isHttps}}
http-request add-header X-Forwarded-Proto https
{{/isHttps}}
{{^isHttps}}
http-request add-header X-Forwarded-Proto http
{{/isHttps}}
http-request add-header X-Forwarded-Host %[req.hdr(host),lower]
server {{id}} {{id}}:{{port}}
{{/isRunning}}
{{/services}}
@@ -99,6 +117,13 @@ backend {{domain}}
backend {{domain}}
option forwardfor
option httpchk GET /undead.json
{{#isHttps}}
http-request add-header X-Forwarded-Proto https
{{/isHttps}}
{{^isHttps}}
http-request add-header X-Forwarded-Proto http
{{/isHttps}}
http-request add-header X-Forwarded-Host %[req.hdr(host),lower]
server {{id}} {{id}}:{{port}} check fall 10
{{/coolify}}
`;
@@ -113,12 +138,7 @@ export async function haproxyInstance() {
export async function configureHAProxy() {
const haproxy = await haproxyInstance();
try {
await checkHAProxy(haproxy);
} catch (error) {
return 'Error: HAProxy is not running';
}
await checkHAProxy(haproxy);
try {
const data = {

View File

@@ -49,11 +49,7 @@ export async function completeTransaction(transactionId) {
}
export async function deleteProxy({ id }) {
const haproxy = await haproxyInstance();
try {
await checkHAProxy(haproxy);
} catch (error) {
return 'Error: HAProxy is not running';
}
await checkHAProxy(haproxy);
let transactionId;
try {

View File

@@ -5,7 +5,6 @@ export default async function () {
try {
return await configureHAProxy();
} catch (error) {
console.log(error.response?.body || error);
return ErrorHandler(error.response?.body || error);
}
}

View File

@@ -66,15 +66,10 @@ export const post: RequestHandler = async (event) => {
const { fqdn, isRegistrationEnabled, dualCerts, minPort, maxPort } = await event.request.json();
try {
const { id } = await db.listSettings();
if (isRegistrationEnabled) {
await db.prisma.setting.update({ where: { id }, data: { isRegistrationEnabled } });
}
await db.prisma.setting.update({ where: { id }, data: { isRegistrationEnabled, dualCerts } });
if (fqdn) {
await db.prisma.setting.update({ where: { id }, data: { fqdn } });
}
if (dualCerts) {
await db.prisma.setting.update({ where: { id }, data: { dualCerts } });
}
if (minPort && maxPort) {
await db.prisma.setting.update({ where: { id }, data: { minPort, maxPort } });
}